帮助返回EDMX Elements

时间:2009-03-31 18:49:30

标签: linq-to-xml

我有一个Entity Framework EDMX文件,我想遍历EntityType元素以及子Property元素,但我无法弄清楚如何做到这一点。它总是返回一组空的后代。

任何帮助表示赞赏

2 个答案:

答案 0 :(得分:1)

如果不确切知道edmx文件的样子,我猜你需要在Descendants问题中包含XNamespace,如:

XNamespace xmlns = "http://blablabla.lala.com"

var results = from x in XElement.Load("location of edmx file")
                         .Descendants(xmlns.GetName("EntityType"))
像我说的那样......像这样......

答案 1 :(得分:0)

另一种选择是使用Metadata Workspace。如果您在运行时执行此操作,则可以从ObjectContext(context.MetadataWorkspace)中访问MW。然后你可以做以下事情:

metadataWorkspace.GetItems<EntityType>(DataSpace.CSpace);

否则,您可以从EDMX中的基础模式加载MetadataWorkspace,即此处的“模式”节点:

<edmx:StorageModels>
    <Schema ...>

使用MetadataItemCollectionFactory