EF框架有三種基本的方式:DB First,Model First,Code First。練習一下DB First,
DatabaseFirst就是圍繞數據庫爲中心的開發方式,使用這種模式我們必須要先設計和創建數據庫,然後使用VS在已有數據庫的基礎上創建ADO.NET實體數據模型,之後就可以在編程的過程中使用EF訪問和操作數據庫裏的數據了
1、先在數據庫中創建幾張表
2、在vs中創建一個類庫項目,添加ado.net實體數據模型
ado.net實體數據模型 必須在安裝EF包之後纔會顯示。
3. 安裝EF框架
打開NUGet程序包後搜索EF ,點擊下載安裝即可,我們這裏就安裝最新版就好
3.添加新項“ADO.NET實體數據模型”
點擊完成 後生成對應數據庫裏的EDM
在DBFirst模式下,是不需要對edmx文件做修改的,讓系統自動生成就好了
如果現在要對錶結構或者列名進行修改,那麼先在數據庫上修改好了,然後在edmx中將相應的實體刪除,選擇從數據庫更新模型 ,再將刪除的表添加回來
比如刪除 或者修改字段名稱EnterpriseID
同樣的,添加表也是如此,這種情況下,即使原來數據庫裏面有數據也不會有什麼影響的
3、在這個項目中做一個簡單的增刪改查,在class1類中添加如下代碼
class Class1
{
EFDBEntities mo = null;
public Class1()
{
mo = new EFDBEntities();
}
public IList<SysUser> getUserName()
{
//使用Lambda表達式查詢數據
IList<SysUser> RoleList = mo.SysUser.Where(o => o.UserState != 0).ToList();
return RoleList;
}
public int AddSysUserSet(SysUser r)
{
try
{
mo.SysUser.Add(r);
mo.SaveChanges();//對數據庫的修改一定要添加這條語句
}
catch (Exception e)
{
return 0;
}
return 1;
}
public int ModifySysUserSet(SysUser r)
{
IList<SysUser> rlist = mo.SysUser.Where(o => o.UserID == r.UserID).ToList();
SysUser rn = rlist.ElementAtOrDefault(0);
if (null != rn)
{
rn = r;
return mo.SaveChanges();
}
return 0;
}
public bool DelSysUserSet(SysUser r)
{
try
{
mo.SysUser.Remove(r);
mo.SaveChanges();
}
catch (Exception e)
{
return false;
}
return true;
}
}
創建一個控制檯項目,將數據庫鏈接字符串複製到配置文件中,然後直接調用class1中的方法就可以實現簡單的增刪改查了
與modelfirst相比,dbfirst在項目開發中更容易,至少,在數據庫有數據的情況下,添加新的實體要更簡單,也不用擔心會因爲誤操作而導致數據丟失。當然前提條件就是要提前在數據庫中將表結構設計和創建好。