我有一组需要选择不同的任务(在L2E中分组)。这些任务有一个引用属性,我需要加载“Activity”,以便我可以引用task.Activity对象。在下面的第一个例子中,这很好。但是,当我按描述进行分组时,活动不会被加载。我错过了什么?
tasks =
(from x in Db.Task.Include("Activity") select x)
.ToList();
tasks =
(from x in Db.Task.Include("Activity")
group x by x.Description
into groupedByDescription
select groupedByDescription.FirstOrDefault()).ToList();
答案 0 :(得分:2)
答案 1 :(得分:0)
我想解释一下这个问题,因为我认为这个问题没有得到解答。
基于此处的示例: IQueryable的> prodQuery = 来自db.Products中的prod group prod by prod.CategoryID into grouping 选择分组;
foreach (IGrouping<Int32, Product> grp in prodQuery)
{
Console.WriteLine("\nCategoryID Key = {0}:", grp.Key);
foreach (Product listing in grp)
{
Console.WriteLine("\t{0}", listing.ProductName);
}
}
如果表Product与表T_Category具有外键关系,则访问该类别的唯一方法是通过db.Product.T_Category.CategoryID。如果是这种情况,是否可以在T_Category中获取其他信息,例如T_Category.CategoryName?
的IQueryable&GT; prodQuery = 来自db.Products.include(“T_Category”)中的prod group prod by prod.T_Category.CategoryID into grouping 选择分组;
foreach (IGrouping<Int32, Product> grp in prodQuery)
{
Console.WriteLine("\nCategoryID Key = {0}:", grp.Key);
foreach (Product listing in grp)
{
Console.WriteLine("\t{0}", listing.ProductName);
Console.WriteLine("\t{0}", listing.T_Category.CategoryID);
Console.WriteLine("\t{0}", listing.T_Category.CategoryName);
}
}