C#EF DBFirst學習

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在項目開發中更容易,至少,在數據庫有數據的情況下,添加新的實體要更簡單,也不用擔心會因爲誤操作而導致數據丟失。當然前提條件就是要提前在數據庫中將表結構設計和創建好。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章