我在 Entity Framework 中设置了一个 TPH(每个层次结构的表),我在其中使用了一个名为 Discriminator
的列分隔不同的 EntityType。
即当鉴别器为 0 时,类型为 Dog
, 如果它是 1 它是 Cat
等等
现在我想将一些用于(批量)更新的代码从 EF 移动到自定义 ExecuteSqlCommand
.
问题:
是否可以通过 MetadataWorkspace
从类型中提取鉴别器值还是通过其他方式?
我正在寻找类似 GetDiscriminatorValue<Cat>("ColumnName")
的内容
如果不可能:是否有另一种方法,这样我就不必在我的代码中的某个地方硬编码这些值?
谢谢,
最佳答案
我还没有尝试过,但您似乎可以使用反射和 MetadataWorkSpace 获取值(和其他非公共(public)属性)。看看这个例子:http://blog.cincura.net/231942-tph-mapping-discriminator-condition-from-metadataworkspace/
关于c# - 从 Entity Framework 中的实体获取鉴别器值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16971388/