EF--DBFirst


EF框架有三種基本的方式:DB First,Model First,Code First。這里簡單的說一下DB First,適合沒有基礎的同學照着做,學習基礎的東西。

DatabaseFirst就是圍繞數據庫為中心的開發方式,使用這種模式我們必須要先設計和創建數據庫,然后使用VS在已有數據庫的基礎上創建ADO.NET實體數據模型,之后就可以在編程的過程中使用EF訪問和操作數據庫里的數據了

1、先在數據庫中創建幾張表

2、在vs中創建一個類庫項目,添加ado.net實體數據模型

點完成后,生成如下edmx

 

 在DBFirst模式下,是不需要對edmx文件做修改的,讓系統自動生成就好了

如果現在要對表結構或者列名進行修改,那么先在數據庫上修改好了,然后在edmx中將相應的實體刪除,選擇從數據庫更新模型 ,再將刪除的表添加回來

同樣的,添加表也是如此,這種情況下,即使原來數據庫里面有數據也不會有什么影響的

3、在這個項目中做一個簡單的增刪改查,在class1類中添加如下代碼

 public class Class1
    {
        modelEntities mo = null;
        public Class1()
        {
            mo = new modelEntities();
        }
        public IList<Role> getRoleSet()
        {
            //使用Lambda表達式查詢數據
            IList<Role> RoleList = mo.Role.Where(o => o.RoleName != "").ToList();
            return RoleList;
        }

        public int AddRoleSet(Role r)
        {
            try
            {
                mo.Role.Add(r);
                mo.SaveChanges();//對數據庫的修改一定要添加這條語句
            }
            catch (Exception e)
            {
                return 0;
            }
            return 1;
        }

        public int ModifyRoleSet(Role r)
        {
            IList<Role> rlist = mo.Role.Where(o => o.Id == r.Id).ToList();
            Role rn = rlist.ElementAtOrDefault(0);
            if (null != rn)
            {
                rn = r;
                return mo.SaveChanges();
            }
            return 0;
        }
        public bool DelRoleSet(Role r)
        {
            try
            {
                mo.Role.Remove(r);
                mo.SaveChanges();
            }
            catch (Exception e)
            {
                return false;
            }
            return true;

        }

    }

創建一個控制台項目,將數據庫鏈接字符串復制到配置文件中,然后直接調用class1中的方法就可以實現簡單的增刪改查了

 

4、與modelfirst相比,dbfirst在項目開發中更容易,至少,在數據庫有數據的情況下,添加新的實體要更簡單,也不用擔心會因為誤操作而導致數據丟失。

EF模式下,也可以直接使用sql語句來實現增刪改查,這里就不討論了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM