EF(ORM)

Posted llsg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EF(ORM)相关的知识,希望对你有一定的参考价值。

它是微软封装好一种ADO.NET数据实体模型,将数据库结构以ORM模式映射到应用程序中。

优点:

1.简洁的Linq to Sql语句大大提高了开发人员的效率,不要再写复杂的sql语句;

2.不再需要再管应用程序如何去连接数据库;

3.EF可以用作用于数据服务和OData Service的基础设施;

缺点:

1.由于linq语句编译之后就是sql,对于这种自动生成的sql语句无法控制;

2.EF的运行机制会消耗大量内存,大大降低了程序运行效率,从而导致降低了用户在客户端的体验效果;

3.一旦数据结构发生变化,需要更新EF数据model;有时还可能会出现找不到更新过的实体类这种情况;

 

Lambda表达式
lambda:匿名函数,就是没有名字的函数,简言之,它时将一块代码赋值给一个变量,直接把lambda当成参数传给函数。这样就使得代码变得更加整洁。
下面的思维导图讲了,什么时候需要用到,还有使用lambda表达式的好处。

技术图片

 


举个栗子:
下图是用了lambda表达式和没有用的对比代码:

技术图片

 

是不是整洁、简短了很多?

当有一个很简单的方法时,我们就可以将这个方法删掉,写成匿名函数的形式去传参。

技术图片

 


LINQ集成查询
全拼:Language Integrated Query——语言集成查询

LINQ的优点:

技术图片

 


LINQ查询与SQL查询的顺序:

技术图片

 

LINQ先查询from的优势:

技术图片

 

如写到from后 p in persons,之前都不确定p的类型,所以age之类的属性不会智能提示。
link先写from,就多了智能感知(intelisence)的优势。

使用EF的优势

技术图片

 

以上是关于EF(ORM)的主要内容,如果未能解决你的问题,请参考以下文章

ORM/EF

ORM框架中EF的作用和特点

在具有相同架构的多个数据库中使用 EF(或另一个 .NET ORM)

ORM框架EF

ORM框架之一EF理解性

[ASP.NET MVC]: - EF框架学习手记