Entity Framework 是微软借鉴ORM思想开发自己的ORM框架,ORM就是将数据表与实体对象相互映射的一种思想。
Entity Framework 的本质还是ADO.NET操作,只是它将ADO.NET封装的更加高级而已。
如何使用?
1,创建实体对象模型。

2.选择从数据库生成实体模型。这里的空模型是可以通过先建模然后根据模型数据库,他们之间可以相互映射,这也是ORM思想。

在这里的时候可以选择需要映射的表了,选择了就会根据表创建实体类,还有存储过程,视图等等。都可以映射。

都设置完成后,会生成一个edmx 的文件
接下来展开这个文件,你会看到如下:

如何操作数据库?
1.执行查询操作。

(1)创建上下文的对象,例如上面的图,上下文对象则是:
TestDemoEntities2 te = new TestDemoEntities2();
(2)创建好上下文对象后,可以直接使用, 上下(文对象 .实体类)的方式来获取实体值!
//直接遍历查询foreach (var item in te.UserMsg){Console.WriteLine(item.Id + " " + item.Name);}
//第二种查询方法。#region 实现查询功能的第二种方法,Linq 和List 集合TestDemoEntities2 tst1 = new TestDemoEntities2();IQueryable<UserMsg> linq = from user in tst1.UserMsgselect user;List<UserMsg> uMsgs = new List<UserMsg>();foreach (var item in linq){if (item.Id <1000001){uMsgs.Add(item);}}foreach (var userList in uMsgs){Console.WriteLine(userList.Id +" "+ userList.Name);}#endregion
二、删除数据:
UserMsg 是对应数据库表的实体类,
TestDemoEntities2 是上下文对象,以下是删除数据的2种写法,根据主键ID来删除数据,当数据库不存在要删除的ID的时候则会报错:

//创建实体类对象UserMsg userMsg = new UserMsg();userMsg.Id = 10002;//上下文对象TestDemoEntities2 te = new TestDemoEntities2();te.UserMsg.Attach(userMsg);//第一种写法te.Entry(userMsg).State = System.Data.EntityState.Deleted;//第二种写法te.UserMsg.Remove(userMsg);int resultMsg = te.SaveChanges();Console.WriteLine(resultMsg);
三、修改数据
1.创建对应数据库表的实体对象,或者查询获取一个实体对象。都行。
反正如果这个实体对象对应是 主键在数据库中找不到,那么就会报错如下:

2.使用上下文对象来管理实体类,修改状态为Update 然后 调用 SaveChenges();方法保存就OK了
//创建实体类对象UserMsg userMsg = new UserMsg();userMsg.Id = 100011;userMsg.Name = "隔壁老王";userMsg.Sex = "男";userMsg.Age = 12;userMsg.Phone = "11232131421";//上下文对象TestDemoEntities2 te = new TestDemoEntities2();//将实体付到上下文里面管理te.UserMsg.Attach(userMsg);//把所有修改状态的实体生成:Update;te.Entry(userMsg).State = System.Data.EntityState.Modified;int resultMsg = te.SaveChanges();Console.WriteLine(resultMsg);Console.ReadKey();