繁体   English   中英

如何从EF模型中获取EntityObject的列表

[英]How to get a list of EntityObject's from an EF model

我需要能够迭代EF模型中的EntityObjects列表。

例如..

foreach (System.Data.Objects.DataClasses.EntityObject eObject in ????)
{
}

从我所看到的模型上下文没有这样的公共枚举器。

有人这样做过吗?

这里的问题是我需要一种动态的方法来迭代EntityObjects,它们也是EDMX中的类型。 我需要列出实体名称及其属性。 非常感谢Craig Stuntz带领我走上正确的道路来解决这个问题。 这是我想出的最终代码来解决我的问题。

EmployeesEntities context = new EmployeesEntities();
MetadataWorkspace workspace = context.MetadataWorkspace;

workspace.LoadFromAssembly(Assembly.Load(@"WindowsFormsApplication10"));

ItemCollection itemCol = workspace.GetItemCollection(DataSpace.OSpace);

StringBuilder sb = new StringBuilder();
foreach (EdmType eType in itemCol)
{
    if (eType.GetType().BaseType == typeof(System.Data.Metadata.Edm.EntityType))
    {
        sb.Append(string.Format("Entity: {0} ", eType.Name));
        foreach (EdmProperty prop in 
            ((System.Data.Metadata.Edm.EntityType)(eType)).Properties)
        {
            sb.Append(string.Format("Property: {0} ", prop.Name));
        }

    }
}
MessageBox.Show(sb.ToString());

从您的评论中,我认为,尽管您的问题中有代码,但您要求CSDL中的实体类型列表而不是对象列表。 这里有一个演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM