1. 程式人生 > >Entity Framework 6 連線Sqlite資料庫遇到的問題

Entity Framework 6 連線Sqlite資料庫遇到的問題

專案中有用到EF6,使用過程中遇到了點問題,記錄一下,希望給有需要的同學一點幫助

至於怎麼用ef 網上有很多教程 在此不再贅述

1、問題一

獲取Nuget包後,匯入資料庫,編譯

提示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 

是由於在App.config檔案中的DbProviderFactories標籤中缺少System.Data.SQLite的宣告  增加後如下:

 <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite.EF6" />
      <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
      <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" />

    </DbProviderFactories>
  </system.data>

2、問題二

在App.config檔案中命名有connection標籤並且路徑正確卻提示 No connection string named 'DataBaseEntities' could be found in the application config file.
是由於你可能有多個工程,但是在Startup工程的App.config檔案中缺少connection標籤或者路徑不正確

3、問題三

提示

The provider did not return a providermanifesttoken string ASP.NET

可能是由於多個工程中的Entity Framework  或者 SQlite的庫版本不統一  不是最近版本, 我遇到的是這樣
如果大家有別的問題可以去StackOverFlow上找一找