【发布时间】:2011-05-25 14:58:31
【问题描述】:
我有一些与 SettingGroup 相关的 SettingDescription 实体。 通过将“修改”字段作为密钥的一部分来保存设置历史记录。 要获取与特定类别匹配的设置,我使用此查询 (after help from here):
var latestSettings =
context.Settings.Include("Description.SettingGroup")
.OrderByDescending(x => x.Modified)
.GroupBy(x =>
new {
x.Category,
x.Group,
x.Name,
x.Target }, x => x)
.Where(x => x.Key.Category == category)
.Select(result => result.FirstOrDefault())
.ToArray();
这会返回一组最新设置,但“包含”部分会被完全忽略。但是,我可以通过运行将描述加载到上下文中的第二个虚拟查询来强制加载描述。
var latestSettings =
context.Settings.Include("Description.SettingGroup")
.OrderByDescending(x => x.Modified)
.GroupBy(x =>
new {
x.Category,
x.Group,
x.Name,
x.Target }, x => x)
.Where(x => x.Key.Category == category)
.Select(result => result.FirstOrDefault())
.ToArray();
var settingDescriptions =
context.SettingDescriptions.Include("SettingGroup")
.Where(x => x.Category == category)
.ToArray();
为什么在“独立”组查询中忽略包含?
我可以将设置和描述加载合并到一个查询中吗?
【问题讨论】:
标签: linq linq-to-entities