LINQ中的Include()有什么作用?

CJ:

我尝试进行了大量研究,但我更像是数据库专家-因此,即使MSDN中的解释对我也没有任何意义。谁能解释一下,并提供一些示例Include()说明SQL查询中的语句?

uck

假设您要获取所有客户的列表:

var customers = context.Customers.ToList();

并假定每个Customer对象都有对其的集合的引用Orders,并且每个对象都有对的引用,这些Order引用LineItems也可以引用a Product

如您所见,选择具有许多相关实体的顶级对象可能会导致查询需要从许多来源提取数据。作为一项性能指标,Include()您可以指示应该从数据库中读取哪些相关实体,作为同一查询的一部分。

使用相同的示例,这可能会带来所有相关的订单标头,但没有其他记录:

var customersWithOrderDetail = context.Customers.Include("Orders").ToList();

最后一点,因为您要求使用SQL,所以不带第一个语句Include()可能会生成一个简单的语句:

SELECT * FROM Customers;

最终调用的语句Include("Orders")可能如下所示:

SELECT *
FROM Customers JOIN Orders ON Customers.Id = Orders.CustomerId;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章