EF,获取实体树

时间:2012-12-11 10:13:33

标签: c# .net entity-framework entity-framework-4

我有EF模型,我想获得与父实体有某种关联的实体名称列表。

让我们说我有这个模型。 http://s14.postimage.org/iphp6sra9/EFHelp.png

如果我选择实体“订单”,我应该得到订单,客户,Order_Details和客户信息。

有办法怎么做? 谢谢。

1 个答案:

答案 0 :(得分:0)

可以通过这种方式获取实体名称,而无需反思:

using (var context = new ModelContainer())
{
    var container =     context.MetadataWorkspace.GetEntityContainer(context.DefaultContainerName, DataSpace.CSpace);
    var entitySet =     container.BaseEntitySets[someEntityName];
    var navProperties = set.ElementType.Members.Where(member => member.BuiltInTypeKind == BuiltInTypeKind.NavigationProperty).Select(member => member.Name).ToList();
}