Générer une base de données SQL pour SQLite à partir du modèle Entity Framework

.net entity-framework orm sqlite sql-server

Question

Est-il possible de générer une base de données SQLite à partir du modèle avec une structure d'entité? J'ai créé une connexion SQLite et un modèle, mais lorsque je clique sur "Générer la base de données à partir du modèle", le message suivant, qui ressemble à MS SQL, génère des erreurs s'il est exécuté avec SQLite (au début du fichier):

-- --------------------------------------------------
-- Entity Designer DDL Script for SQL Server 2005, 2008, and Azure
-- --------------------------------------------------
-- Date Created: 11/25/2010 00:26:41
-- Generated from EDMX file: G:\Foo\Bar\Model1.edmx
-- --------------------------------------------------

SET QUOTED_IDENTIFIER OFF;
GO
USE [foobar.sqlite];
GO
IF SCHEMA_ID(N'dbo') IS NULL EXECUTE(N'CREATE SCHEMA [dbo]');
GO
...

Ma chaîne de connexion ressemble à la suivante, j'ai donc choisi le bon type de base de données:

'metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SQLite;provider connection string="data source=G:\foo\bar\baz"'

Cela ne devrait-il pas fonctionner de cette façon?

MODIFIER:

Puisque personne ne semble connaître une réponse, je vais simplifier les choses: Est-il possible de générer du code SQL avec EF pour toute base de données autre que MICROSOFT SQL SERVER?

Réponse populaire

Je cherchais une solution à ce problème lorsque je suis tombé sur ce lien: http://code.msdn.microsoft.com/Demo-of-ADONET-POCO-with-140ad3ad

Placez le fichier SSDLToSQLite3.tt dans C: \ Program Files (x86) \ Visual Studio 10.0 \ Common7 \ IDE \ Extensions \ Microsoft \ Entity Framework Tools \ DBGen et vous devriez pouvoir le choisir comme modèle de génération DDL dans l'entité Designer.

Une fois que vous aurez fait cela, le modèle créera du SQL adapté à SQLite.



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow