2016 - 2024

感恩一路有你

linq查询表达式的缺点 moq缩写是什么意思?

浏览量:3351 时间:2023-04-27 12:57:09 作者:采采

moq缩写是什么意思?

是指国际贸易术语和计算机术语。

是最小订货量(minimum ord

C#中用while和do。while循环语句计算1-100的奇数和偶数和的代码怎么写?

使用系统

使用

使用

使用系统。文本

命名空间控制台应用程序5

{

班级计划

{

静态void Main(string[] args)

{

控制台。Writ

IQueryble、IEnumerable是什么关系有什么区别,Linq查询返回的是什么类型的数据?

C# IQueryable和IEnumerable的区别使用EF查询数据时,我们经常使用linq to sql,linq to object,

查询返回的结果有两种类型:IQu:Queryable和Enumerable。

在中,参数接收表达式类型并返回IQueryable接口。

公共静态IQueryableltTSourcegt where LTTSourcegt(This IQueryableltTSourcegt Source,expressiontfuncltttsource,Boolgttgt谓词)公共静态iQueryable LTTSourcegt whelttsource gt(This iQueryable LTTSourcegt Source,expressiontfuncltttsource,Boolgttgt谓词)在中,该参数接收一个谓词表达式,即一个委托。

公共静态IEnumerableltTSourcegt where lttsourcegt(this ienumerablettsource gt source,funcltsource,Boolgt predict)public static ienumerabletsourcegt(this ienumerabletsource,funcltsource,Boolgt predict)那么在使用linq to对象查询数据时,根据传递的参数不同,会返回不同的类型。

1.1.where条件接收表达式并返回IQueryable接口。

2.2.where条件接收谓词表达式(委托)并返回IEnumerable接口。

那么什么时候用IQueryableltTgt,什么时候用IEnumerableltTgt呢?

谓词表达式是委托。一旦委托被调用,它将被立即执行,并且执行结果将被保存在内存中。

是一个表达式,它存储拼接的表达式树,直到最终在运行时执行。

那么我们在EF中根据条件查询数据的时候,就不应该一次性把数据加载到本地内存中,然后在本地内存中进行过滤。如果数据量很大,就会崩溃。

我们需要组合表达式,然后提交给数据库执行并返回查询结果。

(每次执行where查询操作符时,IQueryProvider都会为我们创建一个新的IQueryableltTgt。当调用AsEnumerable()方法时,它实际上不接受值,而是

得到了一个IEnumerable,所以EF在查询数据时不应该在筛选数据之前取IEnumerable。只有在执行ToList方法时,才会调用迭代器GetEnumerator()来获取值。当实际取值时,将执行IQueryProvider中的execute方法。(解析表达式,然后执行以获得结果))

这是IQueryable的延迟加载。

在Linq query的方法体中执行查询后可以返回的查询结果有三种,分别是Count、Single和Tolist。

是返回的查询结果的总数,常用于增加或修改时判断数据是否重复。

只能返回单个数据,查询结果为单个问题时没有问题。但是一旦查询结果为空或者有两个以上的查询结果,就会报错,无法移动项目卡片。

是要查询的数据列。表格式,当有多条数据,需要查找一条数据时,只能通过查询结果[n]来查找数据。数据,而且单个查询结果只能找到该数据。数据。

查询 数据 表达式 静态 IEnumerable

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。