Sqlite+Ef6错误

Unable to determine the provider name for provider factory of type ‘System.Data.SQLite.SQLiteFactory‘. Make sure that the ADO.NET provider is installed or registered in the application config.

 

解决方案:

1. EntityFramework.dll 与EntityFramework.SqlServer.dll使用net40的DLL,而不是使用net45的DLL, 在项目文件手动使用

<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
      <HintPath>..\packages\EntityFramework.6.2.0\lib\net40\EntityFramework.dll</HintPath>
    </Reference>
    <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
      <HintPath>..\packages\EntityFramework.6.2.0\lib\net40\EntityFramework.SqlServer.dll</HintPath>
    </Reference>

 

2. No Entity Framework provider found for the ADO.NET provider with invariant name ‘System.Data.SQLite‘. Make sure the provider is registered in the ‘entityFramework‘ section of the application config file. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information.

解决方案:

配置文件去掉: 

>>DbProviderFactories 节点:

 <remove invariant="System.Data.SQLite" />

 <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />

以上 转自 https://blog.****.net/egoily/article/details/79611976

 

3. System.Data.Entity.ModelConfiguration.ModelValidationException:“One or more validation errors were detected during model generation:
SQLiteTest.Persion: : EntityType ‘Persion‘ has no key defined. Define the key for this EntityType.
Persions: EntityType: EntitySet ‘Persions‘ is based on type ‘Persion‘ that has no keys defined.

实体类没有主键,在主建上加特性 [System.ComponentModel.DataAnnotations.KeyAttribute]

 

 

 

 

Sqlite+Ef6错误

上一篇:JDBC的业务逻辑的应用


下一篇:vc访问ACCESS数据库