Asp.net mvc 3 不支持SQLite CreateDatabase错误

Asp.net mvc 3 不支持SQLite CreateDatabase错误,asp.net-mvc-3,sqlite,entity-framework-4.1,ef-code-first,system.data.sqlite,Asp.net Mvc 3,Sqlite,Entity Framework 4.1,Ef Code First,System.data.sqlite,我将Entity Framework 4.2 CF与SQLite一起使用,但当我尝试启动应用程序时,出现了“CreateDatabase不受提供程序支持”错误。这是我的模型映射: protected override void OnModelCreating(DbModelBuilder modelBuilder) { #region NewsMapping modelBuilder.Entity<News>().To

我将Entity Framework 4.2 CF与SQLite一起使用,但当我尝试启动应用程序时,出现了“CreateDatabase不受提供程序支持”错误。这是我的模型映射:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            #region NewsMapping

            modelBuilder.Entity<News>().ToTable("news");
            modelBuilder.Entity<News>().HasKey(x => x.Id).Property(x => x.Id).HasColumnName("ID").HasColumnOrder(0);
            modelBuilder.Entity<News>().Property(x => x.Status).HasColumnName("STATUS");
            modelBuilder.Entity<News>().Property(x => x.NewsTitle).HasColumnName("NEWS_TITLE");
            modelBuilder.Entity<News>().Property(x => x.Content).HasColumnName("CONTENT_1");
            modelBuilder.Entity<News>().Property(x => x.IsImportant).HasColumnName("IS_IMPORTANT");
            modelBuilder.Entity<News>().Property(x => x.OrderNumber).HasColumnName("ORDER_NUMBER");
            modelBuilder.Entity<News>().Property(x => x.CreateDate).HasColumnName("CREATE_DATE");
            #endregion

            base.OnModelCreating(modelBuilder);

        }
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
#区域新闻映射
modelBuilder.Entity().ToTable(“新闻”);
modelBuilder.Entity().HasKey(x=>x.Id).Property(x=>x.Id).HasColumnName(“Id”).HasColumnOrder(0);
modelBuilder.Entity().Property(x=>x.Status).HasColumnName(“Status”);
modelBuilder.Entity().Property(x=>x.NewsTitle).HasColumnName(“新闻标题”);
modelBuilder.Entity().Property(x=>x.Content).HasColumnName(“Content_1”);
modelBuilder.Entity().Property(x=>x.IsImportant).HasColumnName(“IS_IMPORTANT”);
modelBuilder.Entity().Property(x=>x.OrderNumber).HasColumnName(“订单号”);
modelBuilder.Entity().Property(x=>x.CreateDate).HasColumnName(“创建日期”);
#端区
基于模型创建(modelBuilder);
}
这个代码有什么问题


谢谢

代码中没有任何错误。错误正好说明了发生了什么。您的SQLite的EF提供程序(
System.Data.SQLite
),因此您必须在启动应用程序之前手动创建数据库和所有表。

好的,我找到了解决方案,该提供程序不支持“数据库创建”,因此我必须将其初始化为空:

public EkosContext()
        {
            Database.SetInitializer<EkosContext>(null);
        } 
public ekoscoContext()
{
Database.SetInitializer(null);
} 

我在
EF 6.1.3
System.Data.Sqlite 1.0.103
中出现此错误,因为我没有在
web.config
文件中正确指定数据库文件的位置


为了解决这个问题,我将数据库文件移动到
App\u Data
,并将连接字符串更改为
connectionString=“Data source=| DataDirectory | databaseName;Version=3;”

,因为web.config中我的sqlitedb路径错误,简单又愚蠢,真烦人。

你是如何应用这个模型的?这实际上解决了我的问题。同时创建丢失的
App\u数据
文件夹。