ef支援三種構建方法,分別為:code first模式,database first模式和model first模式,下面通過**簡單的介紹這三張方法的使用
一 code first 模式.顧名思義就是**先行
1 新建乙個控制台程式(這個不多說),並新新增entities和dbcontext資料夾,分別存放模型和資料庫上下文類,通過nuget新增entity framework包
2 新建user類和order類 如下
public class user
public string name
public datetime birthday
public listorders
}public class order
public system.datetime ordertime
public string userid
public user userinfo
}
3 在新建乙個codefirstdbcontext型別,繼承自dbcontext
public class codefirstdbcontext : dbcontext
public dbsetuser
public dbsetorder
protected override void onmodelcreating(dbmodelbuilder modelbuilder)
}
4 至此,資料庫相關的開發完成,下面通過**驗證是否有誤,在main方法中新增一下**
user u = new user ;
order o = new order ;
//寫入資料
using (codefirstdbcontext db = new codefirstdbcontext())
//讀取資料
using (codefirstdbcontext db = new codefirstdbcontext())
name:");
}foreach (order dborder in db.order)
name:");}}
console.readkey();
結果:資料寫入並查詢,此時.可在相應的伺服器上檢視建立的資料庫和表中的資料
二 database first模式,即資料庫先行
1 新建乙個控制台程式(這個不多說),並新新增entities和dbcontext資料夾,分別存放模型和資料庫上下文類,通過nuget新增entity framework包
2 新建資料庫及表(可以使用上例中生成的資料庫,也可以自己新建)
3 新建乙個db資料夾,在該檔案下右鍵-->新增-->新建項,選擇ado.net實體資料模型,命名為userorder,點選新增,
選擇 來自資料庫的ef設計器
點選下一步
在下一步,選擇要生成模型的物件,這裡選擇表即可
點選完成
4 此時專案結構如圖5
5 在main方法中,新增如下**,然後執行,就可以看到上例子中新增的資料了
using (modelfirstentities db = new modelfirstentities())
name:");
}foreach (order dborder in db.orders)
name:");}}
console.readkey();
三 model first模式,即模型先行
1 同樣的,新建乙個控制台程式,通過nuget新增entity framework包
2 新建乙個db資料夾,在該檔案下右鍵-->新增-->新建項,選擇ado.net實體資料模型,命名為userorder,點選新增,
選擇 空ef設計器模型
點選完成
3 在開啟的userorder.edmxw檔案中
3.1 右鍵-->新增-->實體
3.2 開啟圖8所示窗體,按圖設定完成後,點選確定
3.3 按照下圖的步驟新增屬性
3.4 重複以上的步驟,新建order實體
3.5 右鍵-->新增-->關聯,新建兩表之間的關係
3.6 右鍵-->根據模型生成資料庫
3.7 點選下一步,選擇ef版本
3.8 點選下一步,會生成相應的sql語句,點選完成,系統會自動開啟新建立的sql語句
3.9 右鍵開啟的sql語句檔案,選擇執行(此時可能需要連線資料庫),完成後會生成相應的資料庫和表
4 在main方法中新增如下**
user u = new user ;
order o = new order ;
//寫入資料
using (userordercontainer db = new userordercontainer())
//讀取資料
using (userordercontainer db = new userordercontainer())
name:");
}foreach (order dborder in db.orders)
name:");}}
console.readkey();
執行程式,沒有其他錯誤的話會有相應的資料,並且資料庫中也會有相應的數 Windows Installer的簡單應用
windows installer的簡單應用 2010年11月12日 因為要做乙個類似windows update的東西,以免程式更新時跑來跑去麻煩,雖然類似的工具很多,但是大都很複雜,於是決定自己做乙個類似的簡單程式。對比客戶端和伺服器端的程式版本,並把伺服器端新版本程式拷回來都好做 用vpn,相...
Windows Installer的簡單應用
windows installer的簡單應用 2010年11月12日 因為要做乙個類似windows update的東西,以免程式更新時跑來跑去麻煩,雖然類似的工具很多,但是大都很複雜,於是決定自己做乙個類似的簡單程式。對比客戶端和伺服器端的程式版本,並把伺服器端新版本程式拷回來都好做 用vpn,相...
css vertical align簡單的應用
vertical align屬性值 我見過的 1 用來寫在img標籤上,讓兩旁的字與底部 頂部 中間對齊 vertical align text top vertical align text bottom vertical align middle 這一前面的文字 這一前面的文字 src asse...