[英]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.