這是我在博客園的第一篇博客,開通此博客的目的是整理學過的知識點,以后再碰到相同的問題后會有文檔可以查詢。
話不多說,開擼。
1.打開VS2013建立WPF應用程序,選擇對應的項目。
2.安裝EF程序包,打開 工具—》NuGet程序包管理器—》程序包管理器控制台,輸入 install-package entityframework。
如上圖所示,已經成功安裝EF 6.1.3到當前解決方案目錄下。
3.添加空項目XXX.DAL存放數據訪問相關類。
4.添加空項目XXX.Model存放與數據庫相匹配的模型,並添加相應的數據表如TSysUser類,右鍵點擊項目XXX.Model在輸出類型
這一欄將控制台應用程序更改為類庫,點擊生成事件,在后期生成事件命令行輸入
set targetFloder=$(ProjectDir)..\..\Common\
xcopy /r /y "$(TargetDir)TCMedcine.Model.dll" "%targetFloder%"
將生成的類庫文件TCMedcine.Model.dll拷貝到與項目同級的Common文件夾下面。
5.在XXX.DAL項目中添加SysContext繼承DbContext,z在SysCntext添加如下代碼
public class SysContext : DbContext
6.配置鏈接字符串
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<connectionStrings>
<add name="SysContext" connectionString="Data Source=(local); Database=Test; User ID=sa; Password=123456;" providerName="System.Data.SqlClient"/>
</connectionStrings>
鏈接字符串放到啟動項的配置文件中。
{
public SysContext()
: base("name=SysContext")
{
}
public DbSet<TSysUser> TSysUsers { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingEntitySetNameConvention>();
}
ORM中O就是SysContext中的TSysUsers,就是對象,R是數據庫中的表,M是O和R的映射關系。ORM對傳統方式的改進:
充當橋梁,實現了關系數據和對象數據的映射,通過映射自動產生SQL語句。對常用的操作,節省了寫SQL的步驟。
創建SysContext類主要來完成EF的功能,步驟如下:
1) 為每一個entity set創建一個DbSet,在EF中,通常情況下一個entity set對應數據庫中的一張表,一個entity對應表中的一行。
2) 指定連接字符串構造函數中的base(“name=SysContext”).
3) 指定單數形式的表名
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
默認情況下會生成復數形式的表,如TSysUsers.