使用实体框架和linq的嵌套类
我有以下课程:使用实体框架和linq的嵌套类,linq,entity-framework,Linq,Entity Framework,我有以下课程: 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 Dictionar
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; }
}
我希望它按区域分组,并为每个区域填充unicorns,如果不为null,则使用参数。这个查询会是什么样子
List<RegionResult> regions = (from a in (_entites.Regions).AsEnumerable().GroupBy(...)
.select new... a = a.Unicorn.Name.. new .ToDictionary(key, value)?
List regions=(来自(_entites.regions).AsEnumerable().GroupBy(…)
.选择new…a=a.Unicorn.Name..new.ToDictionary(键,值)?
提前谢谢
/Lasse如果我理解正确,您只需要加载带有相关独角兽和参数的区域 您不必分组,只需加载区域并包含相关实体(这适用于EF 4.1):
列表区域=
_entites.Regions.Include(r=>r.Unicorns.Select(u=>u.Parameters);
但是我不认为你可以用实体框架映射字典类型。我安装了实体框架4.1,出于某种原因我不能使用lamda表达式。只有字符串参数availableseems你有一些扩展的类objectquery@LasseEdsvik:这是一个扩展方法。必须包含名称空间System.Data.Entity。请参阅本演练介绍了EF 4.1:
List<RegionResult> regions = (from a in (_entites.Regions).AsEnumerable().GroupBy(...)
.select new... a = a.Unicorn.Name.. new .ToDictionary(key, value)?
List<RegionResult> regions =
_entites.Regions.Include(r => r.Unicorns.Select(u => u.Parameters);