Entity framework 如何获取EntityObject';来自EF模型的s
我需要能够迭代EF模型中的EntityObjects列表 例如Entity framework 如何获取EntityObject';来自EF模型的s,entity-framework,entity,Entity Framework,Entity,我需要能够迭代EF模型中的EntityObjects列表 例如 foreach (System.Data.Objects.DataClasses.EntityObject eObject in ????) { } 从我所看到的模型上下文中没有这样的公共枚举器 有人这样做过吗?根据您的评论,我认为,尽管您的问题中有代码,但您要求的是CSDL中的实体类型列表,而不是对象列表 从您的评论中,我认为,尽管您的问题中有代码,但您要求的是CSDL中的实体类型列表,而不是对象列表
foreach (System.Data.Objects.DataClasses.EntityObject eObject in ????)
{
}
从我所看到的模型上下文中没有这样的公共枚举器
有人这样做过吗?根据您的评论,我认为,尽管您的问题中有代码,但您要求的是CSDL中的实体类型列表,而不是对象列表 从您的评论中,我认为,尽管您的问题中有代码,但您要求的是CSDL中的实体类型列表,而不是对象列表这里的问题是,我需要一种动态的方法来遍历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());
这里的问题是,我需要一种动态的方法来遍历eDMX中也考虑类型的EntIy对象。我需要列出实体名称及其属性。非常感谢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());
你是说你想迭代数据库中的每个对象?在
对象上下文中
?还有别的吗?你能更具体地说明你想做什么以及为什么吗?我需要能够迭代EDMX中的所有EntityObjects,如果数据库有两个表,Employee和Worker,那么这些表将在EF中转换为实体对象。模型中的所有实体都有公共枚举器吗?如果您发布代码或XML,请在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码”按钮(101 010),以很好地格式化和语法突出显示它!是的,我非常熟悉ssdl、csdl和msl,我只是希望我不必为了这一个而去解析XML,你会认为EntityModel会为EntityObjectsOh提供一个公共枚举器,我明白了:你想要的是类型,而不是演示代码所示的对象。EDMX不定义对象,但指定类型。您的意思是要迭代数据库中的每个对象?在对象上下文中
?还有别的吗?你能更具体地说明你想做什么以及为什么吗?我需要能够迭代EDMX中的所有EntityObjects,如果数据库有两个表,Employee和Worker,那么这些表将在EF中转换为实体对象。模型中的所有实体都有公共枚举器吗?如果您发布代码或XML,请在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码”按钮(101 010),以很好地格式化和语法突出显示它!是的,我非常熟悉ssdl、csdl和msl,我只是希望我不必为了这一个而去解析XML,你会认为EntityModel会为EntityObjectsOh提供一个公共枚举器,我明白了:你想要的是类型,而不是演示代码所示的对象。EDMX没有定义对象,但它确实指定了类型。嘿,克雷格,非常感谢你的链接。那篇文章让我找到了解决这个问题的正确途径。我还将回答这个问题,并将解决我问题的确切代码链接起来,因为它与文章有点不同。嘿,克雷格,非常感谢你的链接。那篇文章让我找到了解决这个问题的正确途径。我还将回答这个问题,并将解决我的问题的确切代码链接起来,因为它与文章有点不同。