上一篇《【EF映射】EF入门(一)》中我们对EF有了简单的了解,接下来我们更加深入的去学习一下EF的原理以及怎么用lambda表达式去实现对数据库增删改等功能。
EF图解:
EF的核心思想:将表实体的变化,映射到表的变化;
在ADO .NET中用于存取和管理资料的两个主要元件是.NET Framework 资料提供者和 DataSet,5大对象实现应用 程序和数据库之间的操作。而在EF中
1.封装了数据库的统一入口,EF上下文;
2.把对实体的操作放入上下文中;
3.把对实体操作产生的变化生成Sql脚本执行到数据库中;
EF原理:
跟踪实体的变化,然后根据映射关系以及实体的变化生成相应的sql脚本,并执行到数据库中去。
延迟加载
再说延迟加载之前,我们先来了解一下Lambda表达式,C#的Lambda 表达式都使用 Lambda 运算符 =>,该运算符读为“goes to”。语法如下:
形参列表=>函数体
函数体多于一条语句的可用大括号括起。
形参列表=>函数体
函数体多于一条语句的可用大括号括起。
第一种:
var items=from c in db.Customer
where c.ID<10
select c ;
foreach(var customer in items)
{
console.writer line(customer.ID);
}
第二种:
var customers=from c in db.Customer
select c;
foreach(var cus in customers)
{
console.writeLinez(cus.ID+"______");
foreach( var order in cus.orfer)
{
console.writeLine(order.ID);
}
console.writeLine("______");
}
【总结】
关于EF的学习,学好理论是前提,自己动手实践才能找到真正的去理解。我们要学习的东西还要很多,不要把知识独立起来,试着去构建知识网,把知识之间联系起来。