只是一个关于 EF 5 代码优先的快速问题。请问如何在运行时访问特定实体存在的外键列表?
提前致谢
您可以遍历父实体上的子集合并保存每个子实体的 id。
我认为解决这个问题的正确方法是使用Metadata Workspace。
一些快速指示:
ObjectContext
派生实例的属性DbContext
来检索其包装的ObjectContext
实例。从那里您可以使用该MetadataWorkspace
属性来检索MetadataWorkSpace
实例。GetType
(例如)以检索EdmType
您的实体。MetadataProperties
属性即可。您可以通过查看它们的值来过滤MetadataProperty
中的每个对象。ReadOnlyMetadataCollection
BuiltInTypeKind
BuiltInTypeKind.NavigationProperty
可能还有其他方法可以做到这一点,例如以某种方式检索EdmMember
您的实体的对象集合,然后Type
使用GetType
. 其中一种可能的类型是NavigationProperty
.
免责声明: 没有对此进行测试。