发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
通常情况在你的应用程序中,一旦你要查询完数据的的时候,你知道使用实体来做什么。
假如你打印一份订单给顾客,你知道不包括组成订单的Items和Products信息,打印的信息是不完整的,所以查询时也需要加载这些信息。
这类情况,查询时使用预先加载是很有用的。如果你需要额外的信息、实体,你可能需要提前加载这些实体数据,这会节省你的查询次数。
正好与一些错误的观点相反,使用EF进行预先加载是可行的,而且比较方便,你可以简单地使用Include()来写自己的查询,像下面的方式:
var reprint = (from order in ctx.Orders.Include("Items.Product") where order.Customer.Name == "Fred Blogs" && order.Status == "Unshipped" select order).First();
这条查询语句的意思是,这条顾客的订单包括它们的“明细”,每条“明细”又包括它们的“产品”信息。
结果的执行语句,不需要再做过多的查询,如下:
foreach (var item in reprint.Items) { Console.WriteLine("\t{0} {1} = ${2}", item.Quantity, item.Product.Name, item.Cost); } Console.WriteLine(reprint.TotalCost);
备注:
这样查询不需要明确再使用Include("Items"),Include("Items.Product")的使用明确地包括了“Items”。
来自: 昵称10504424 > 《工作》
0条评论
发表
请遵守用户 评论公约
Entity Framework的原理及使用方式
Entity Framework的原理及使用方式Entity Framework的原理及使用方式。using (Entities entities = new Entities())var query = entitie...
手把手教你用好LINQ to SQL(2)
手把手教你用好LINQ to SQL(2)Step4:使用Linq to SQL访问数据库。例如,Category与Bulletin的一对多关系,到了类结构中, 反映成如下形...
LINQ to SQL快速上手 step by step
LINQ to SQL快速上手 step by step.:-)而Linq to Sql是LINQ在数据库访问方面的一个应用框架,完全是两码事。不过这并不妨碍你学习使用Li...
C# XML技术总结之XDocument 和XmlDocument
C# XML技术总结之XDocument 和XmlDocument引言。C#中对XML的处理也不断优化,那么我们如何选择XML的这几款处理类 XmlReader,XDocument 和XmlDocument了?XDocument 和XmlDocument会把所有的XML所有的...
LINQ to SQL(3):增删改查
//得到我们想要的数据行 Customers blogsCustomer = query.First(); blogsCustomer.Country = "Tianjin";//追加信息 blogsCus...
LINQ标准查询操作符(二)——Join、GroupJoin、GroupBy、Concat、
LINQ标准查询操作符(二)——Join、GroupJoin、GroupBy、Concat、LINQ标准查询操作符(二)——Join、GroupJoin、GroupBy、Concat、四、联接操作符。LINQ有两个联接操作符:Join和GroupJoin。GroupJoi...
C#学习笔记
Linq.dll:提供了使用LINQ处理XML文档数据所需的功能。4 5 //只输出小于10的项 6 //使用隐式类型 7 var subset = from i in numbers where i <10 select i; 8 9 foreach (var i in subset)10 Cons...
LINQ教程一:LINQ简介
LINQ教程一:LINQ简介。在上面的例子中可以看到,我们在单个语句中使用LINQ和Lambda表达式指定不同的查询条件,因此,LINQ使代码更加紧...
C#入门教程
//二进制:111101相对应的只要有一个为1结果为1 111101Console.WriteLine(c);//61c = a ^ b;//二进制:110001相对应的位 相同为0 不同为1Console.WriteLine(c);//49c = ~a; //二进制:000011 相对应的位 ...
微信扫码,在手机上查看选中内容