我有这些课程:
public class RegionResult
{
public string Region { get; set; }
public List<Unicorn> Unicorns { get; set; }
}
public class Unicorn
{
public string Name { get; set; }
public string Color { get; set; }
public Dictionary<string, string> Parameters { get; set; }
}
我会从我的datacontext将数据分配给List。 “平面”查询看起来像:
SELECT * FROM Regions R
JOIN Unicorns U ON R.X = U.X
LEFT JOIN Parameters P ON U.X = P.X
我希望按地区分组,并为每个区域填充独角兽,参数如果不为空。该查询将如何?
List<RegionResult> regions = (from a in (_entites.Regions).AsEnumerable().GroupBy(...)
.select new... a = a.Unicorn.Name.. new .ToDictionary(key, value)?
提前致谢
/拉塞
答案 0 :(得分:2)
如果我理解你的话,你只想加载具有相关联的Unicorns和参数的区域。
您不必分组,只需加载区域并包含相关实体(这适用于EF 4.1):
List<RegionResult> regions =
_entites.Regions.Include(r => r.Unicorns.Select(u => u.Parameters);
但我不认为您可以使用实体框架映射字典类型。