【发布时间】:2020-05-27 08:18:52
【问题描述】:
我正在尝试将方法语法转换为查询语法。
类结构嵌套如下:
- 财产
- 物业方
- 聚会
- 派对邮寄地址
- PropertyMailingAddress
与查询语法相比,MethodSyntax(第一个)似乎带来了更少的行分组,带来了更多的行。
如何将第二个查询语法修复为等同于方法语法?
var result = db.Property.Include(pm => pm.PropertyParty)
.Include(pm => pm.PropertyParty)
.ThenInclude(x => x.Party)
.ThenInclude(x => x.PartyMailingAddress)
.ThenInclude(x => x.PropertyMailingAddress)
.ToList();
var testingResult = (from property in db.Property
join propertyParty in db.PropertyParty
on property.PropertyId equals propertyParty.PropertyId
join party in db.Party
on propertyParty.PartyId equals party.PartyId
join partyMailingAddress in db.PartyMailingAddress
on party.PartyId equals partyMailingAddress.PartyId
join propertyMailingAddress in db.PropertyMailingAddress
on partyMailingAddress.PartyMailingAddressId equals propertyMailingAddress.PartyMailingAddressId
select property).ToList();
*如果没有等价物,我可以抓取查询结果,并将它们分组为类似于方法语法吗?
查询语法答案不应包含 ThenInclude
目前使用的是 Net Core 2.2
【问题讨论】:
-
请不要在问题标题中使用标签。 tagging help page 强烈建议不要这样做:“你应该在标题中使用标签的唯一情况是它们与标题的对话语气有机。”
-
首先,这个网站的规则会随着时间而改变,所以当时可能没有标题中的标签不是标签指南的一部分。也许这些问题只是从网上溜走了——很多都是这样。将您对该网站的使用与实际的官方指南相矛盾并用旧问题为其辩护似乎类似于要求官员不要给您一张超速罚单,因为大约 10 年前速度限制曾经更高。
-
这是一篇关于标题标签的元帖子:meta.stackexchange.com/q/19190/686592
-
换个角度看这个:这对你有什么好处?如果有人有兴趣回答有关 C# 或 LINQ 的问题,他们不会对 C# 或 LINQ 进行文本搜索。和我一样,他们会打开C# tag page,以便他们可以看到标记为 C# 的新问题。我就是这样找到你的问题的。如果您是这么想的话,它根本不会增加您的知名度。
标签: c# .net entity-framework linq .net-core