【问题标题】:SQLite CreateDatabase not supported errorSQLite CreateDatabase 不支持错误
【发布时间】:2012-01-20 07:36:43
【问题描述】:

我正在使用带有 SQLite 的 Entity Framework 4.2 CF,但是当我尝试启动应用程序时,我得到“提供程序不支持 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);

        }

这段代码有什么问题?

谢谢

【问题讨论】:

    标签: asp.net-mvc-3 sqlite entity-framework-4.1 ef-code-first system.data.sqlite


    【解决方案1】:

    代码没有错。该错误准确地说明了正在发生的事情。您的 SQLite EF 提供程序 (System.Data.SQLite) doesn't provide database creation,因此您必须在启动应用程序之前手动创建数据库和所有表。

    【讨论】:

      【解决方案2】:

      好的,我找到了解决方案,提供者不支持“创建数据库”,所以我不得不将其初始化为空:

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

      【讨论】:

      • 你是如何应用模型的?
      【解决方案3】:

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

      为了解决这个问题,我将数据库文件移至App_Data,并将连接字符串更改为connectionString="data source=|DataDirectory|databaseName;Version=3;"

      【讨论】:

      • 这实际上解决了我的问题。同时创建缺少的App_Data 文件夹。
      【解决方案4】:

      因为我在 web.config 中我的 sqlitedb 的路径错误,所以简单而愚蠢,令人讨厌。

      【讨论】:

        猜你喜欢
        • 2015-12-02
        • 2015-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-23
        • 2012-08-23
        • 1970-01-01
        相关资源
        最近更新 更多