C# Entity Framework框架 Code First 模式 連接 SQL\Access\SQLite (組合式)


Web.config 配置文件很重要,有些蒙圈,自己稍微整理了下。看起來就簡單些。

步驟一:

NuGet 給項目安裝 Entity Framework。

步驟二:

NuGet給項目安裝 JetEntityFrameworkProvider

步驟三:

添加數據庫位置Web.config

<connectionStrings>
<!--Access--> <add name="AccessContext" connectionString="Provider=Microsoft.ACE.OleDb.12.0;Data Source=|DataDirectory|\AccessDataBase.accdb" providerName="JetEntityFrameworkProvider" />
<!--SQLite--> <add name="sqliteContext" connectionString="Data Source=|DataDirectory|\Sqlite.db3;" providerName="System.Data.SQLite.EF6" />
<!--SQL--> <add name="SqlContext" connectionString="server=.;database=demo;uid=sa;pwd=only" providerName="System.Data.SqlClient" /> </connectionStrings>

步驟四:

Web.config添加節點

<providers>
<!--SQL--> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<!--Access--> <provider invariantName="JetEntityFrameworkProvider" type="JetEntityFrameworkProvider.JetProviderServices, JetEntityFrameworkProvider" />
<!--SQLite--> <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
<!--SQLite-->
<provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6"/>
</providers>

步驟五:

創建連庫文件

public partial class BlContext : DbContext
    {
//可改為其他連接 或 動態
public BlContext() : base("SqlContext") { } public BlContext(string connectionName) : base(connectionName) { } public virtual DbSet<Entity.User> User { get; set; } }

聲明:ACCESS數據庫,創建的數據庫中會自動根據實體類創建表,無需手動添加,修改列屬性未測試。

OK.目前為止EF框架可適應連接Access\SQLite\SQL數據庫的Code First 模式。

不喜勿噴,謝謝合作。

 

補充:

在使用ACCESS數據庫時,更新表結構的時候如果出現以下字樣(不懂英文)

System.InvalidOperationException:“The model backing the 'BlContext' context has changed since the database was created. Consider using Code 

如果出現這種字樣的時候需要在Global.asax中添加以下代碼:

protected void Application_Start(object sender, EventArgs e)
{
   Database.SetInitializer<DataBase.BlContext>(null);
}

這樣就可以隨意修改表結構嘍。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM