1、委托例子:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 8 namespace WebApplication1 9 { 10 public partial class WebForm1 : System.Web.UI.Page 11 { 12 protected void Page_Load(object sender, EventArgs e) 13 { 14 15 } 16 17 protected void Button1_Click(object sender, EventArgs e) 18 { 19 UserInfo userinfo = new UserInfo(); 20 userinfo.Email = "kerry@advancehk.com"; 21 userinfo.RegTime = DateTime.Now; 22 userinfo.UserName = "kerry"; 23 userinfo.UserPass = "123456"; 24 //这个book_shop3Entities 是在Model1.edmx中的Model1.Context.cs 25 book_shop3Entities db = new book_shop3Entities(); 26 db.UserInfo.Add(userinfo);//将数据添加到EF并且添加了标记 27 db.SaveChanges(); 28 29 } 30 } 31 }
2、实体框架(Entity Framework):
简称:EF NH
与ASP.Net MVC 关系与ADO.NET关系
ADO.NET Entity Framework是微软以ADO.NET为基础所发展出来的对象关系对应(D/R Mapping)解决方案。
实体框架Entity Framework是ADO.NET中的一组支持开发面向数据的软件应用程序的技术,是微软的一个ORM(Object Releations Mapping)框架。
3、怎么建立:
1)、新建项--数据--ADO.NET 实体数据模型
2)、设置完成后要导入命名空间:EntityFramework(dll文件的路径:C:\Users\mike.mike-PC\Desktop\Code\EFmodel\packages\EntityFramework.6.2.0\lib\net45)、System.Data.Enity
上面额操作完成之后就会多了一个文件夹packages
4、引用dll文件的时候,右键单击引用,点击管理NuGut程序包。
5、添加数据:(在aspx添加一个按钮)
1 protected void Button1_Click(object sender, EventArgs e) 2 { 3 UserInfo userinfo = new UserInfo(); 4 userinfo.Email = "kerry@advancehk.com"; 5 userinfo.RegTime = DateTime.Now; 6 userinfo.UserName = "kerry"; 7 userinfo.UserPass = "123456"; 8 //这个book_shop3Entities 是在Model1.edmx中的Model1.Context.cs 9 book_shop3Entities db = new book_shop3Entities(); 10 db.UserInfo.Add(userinfo);//将数据添加到EF并且添加了标记 11 db.SaveChanges();//只有执行这段语句的时候,才能够执行 12 }
6、插入这条语句之后想要拿这条语句的主键ID
1)第一种方式:
Insert into 表名 (数据字段名) output inserted.ID values(字段值)
2)第二种方式:(用EF)
1 protected void Button1_Click(object sender, EventArgs e) 2 { 3 UserInfo userinfo = new UserInfo(); 4 userinfo.Email = "kerry@advancehk.com"; 5 userinfo.RegTime = DateTime.Now; 6 userinfo.UserName = "kerry"; 7 userinfo.UserPass = "123456"; 8 //这个book_shop3Entities 是在Model1.edmx中的Model1.Context.cs 9 book_shop3Entities db = new book_shop3Entities(); 10 db.UserInfo.Add(userinfo);//将数据添加到EF并且添加了标记 11 db.SaveChanges();//只有执行这段语句的时候,才能够执行 12 Response.Write(userinfo.ID); 13 }
7、在EF中的实体数据类型(EDM)由以下三种模型和具有相应的文件扩展的映射文件进行定义。
1)概念架构定义语言文件(.csdl)--定义概念模型
2)存储架构定义语言文件(.ssdl)--定义存储模型
3)映射规范语言文件(.nsl)--定义存储模型与概念模型之间的映射M。
8、用EF进行查询:
1 protected void Button2_Click(object sender, EventArgs e) 2 { 3 book_shop3Entities db = new book_shop3Entities(); 4 //Ling表达式 5 var userinfolist = from u in db.UserInfo 6 where u.ID == 94 7 select u; 8 foreach (var userinfo in userinfolist) 9 { 10 Response.Write(userinfo.UserName); 11 } 12 }
9、EF里面有个延迟加载机制0:当数据用到的时候才会去数据库查询,不用的时候是不用查询的。
10、用EF进行删除数据:
1 protected void Button3_Click(object sender, EventArgs e) 2 { 3 book_shop3Entities db = new book_shop3Entities(); 4 var userinfolist = from u