[C#.NET][Entity Framework] Code First 整合 SQL Server | Service-based Database

[C#.NET][Entity Framework] Code First 整合 SQL Server | Service-based Database

續上篇 http://www.dotblogs.com.tw/yc421206/archive/2014/01/20/141712.aspx

 

當我們沒有指定連線字串時,EF 會自動幫我們產生*.mdf,位置為 C:\Users\account

image

 

除了預設之外,我們也可以透過連線字串來處理,接下來要演練整合 SQL Server | Service-based Database 兩種連線方式


整合 Service-based Database:

若我們需要手動鍵入一些預設資料,可以加入 *.mdf 檔

 

 

@Winform 專案,新增 localDb.mdf

image

 

 

雙擊 localDb.mdf 檔案,VS 就會幫我們打開它,右下角的屬性也有連線字串,這時候便可手動為 localDb.mdf 加入一些資料

image

 

 

@App.Config

加入以下連線字串

 
         providerName="System.Data.SqlClient"
         connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\LocalDb.mdf;Initial Catalog=MyProduct;Integrated Security=True;" />

 
@CustomerDbContext.cs
替 CustomerDbContext 增加建構子

 
{
    public CustomerDbContext(string connectString)
        : base(connectString)
    {
    }

    public CustomerDbContext()
    {
    }

    public DbSet<Product> Products { get; set; }

    public DbSet<Customer> Customers { get; set; }

    ~CustomerDbContext()
    {
        this.Dispose();
    }
}

 
@Winform
用戶端調用時,傳入連線字串 "LocalDbConnect"
{
    this._dbContext = new CustomerDbContext("LocalDbConnect");
    this._dbContext.Customers.Load();
    this.customerBindingSource.DataSource = this._dbContext.Customers.Local.ToBindingList();
}

 

 
當新增一筆資料後,MyProduct 資料庫的 Customers Table 已經有一筆資料了
image

 

整合 SQL Server:

我本機裡的開發環境是 SQL Server 2012 Developer Edition with sp1,我若沒記錯的話,Code First 需要 SQL Server 2008 以上的版本才能整合(一時間找不到相關資料,若有前輩知道的話,煩請告知小弟一下)

@App.Config
         providerName="System.Data.SqlClient"
         connectionString="Data Source=.;Initial Catalog=MyProduct;Integrated Security=True;" />

 
@Winform
在用戶端調用時把連線字串換成 "RemoteDbConnect"

 
當新增一筆資料的時候,也可以看到遠端資料庫也跟著異動
image

 

 

 

 

 

文章出自:http://www.dotblogs.com.tw/yc421206/archive/2014/01/21/141824.aspx

範例下載:https://dotblogsfile.blob.core.windows.net/user/yc421206/1401/201412103242748.zip

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo