c#sqlite.codefirst - 这个错误意味着什么

时间:2017-09-21 18:53:27

标签: sqlite

尝试使sqlite与实体框架6一起工作。预期的应用程序将成为一个Windows窗体应用程序。这是我到目前为止所做的:

  1. nu-get manager console:install-package sqlite.codefirst - >成功

  2. 创建了一个班级'学生'有三个属性

  3. 转到app.config,目前看起来像这样:

    <configuration>
    <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    </configSections>
    <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"    />
    </startup>
    <entityFramework>
    <!--defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
    <parameters>
    <parameter value="v11.0" />
    </parameters>
    </defaultConnectionFactory-->
    <providers>
    <!--provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" /-->
    <!--provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /-->
    <provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite"/>
    </providers>
    </entityFramework>  
    <connectionStrings>
    <add name="SurveyDbContext" connectionString=" data source = .\SQLite; initial catalog=TimerDB; integrated security = SSPI" providerName="System.Data.SqlClient" />
    </connectionStrings>
    
  4. 创建了一个继承自DbContext的类:

    public class SurveyDbContext : DbContext
    {
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            var sqliteConnectionInitializer = new SqliteCreateDatabaseIfNotExists<SurveyDbContext>(modelBuilder);
            Database.SetInitializer(sqliteConnectionInitializer);
        }
    
        public DbSet<Student> Students { get; set; }
    }
    
  5. 再次进入nu-get经理控制台: 启用的迁移

  6. 我得到一个名为&#34; Migrations&#34;的文件夹,但它实际上不包含任何迁移。因此,以下错误消息:实体框架提供程序类型&#39; System.Data.SQLite.EF6.SQLiteProviderServices,System.Data.SQLite&#39;在具有不变名称的System.Data.SQLite&#39无法加载。确保使用了程序集限定名称,并且程序集可供正在运行的应用程序使用。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=260882

    我到底应该做什么? 非常感谢你!

0 个答案:

没有答案