我有一些与SettingDescription相关的设置实体,它与SettingGroup相关。 通过将键的“已修改”字段部分保留来设置历史记录。 要获取与特定类别匹配的设置,请使用此查询(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();
为什么在“独立”群组查询中忽略了包含?
我可以将设置和描述加载合并到一个查询中吗?
答案 0 :(得分:0)
“提示22 - 如何使包括真正包含”
http://blogs.msdn.com/b/alexj/archive/2009/06/02/tip-22-how-to-make-include-really-include.aspx
在我看来,您的查询返回“设置”实体(没有“更改形状”),因此此提示应适用。