您的位置:首页 > 其它

【EF映射】EF原理及延迟加载

2016-07-29 22:51 169 查看
  上一篇《【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的学习,学好理论是前提,自己动手实践才能找到真正的去理解。我们要学习的东西还要很多,不要把知识独立起来,试着去构建知识网,把知识之间联系起来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: