4

我在实体框架中设置了一个 TPH(每个层次结构的表),我使用一个名为的列Discriminator来分隔不同的实体类型。

即,当鉴别器为 0 时,类型为Dog,如果为 1,则为Cat

现在我想将一些用于(大规模)更新的代码从 EF 移动到 custom ExecuteSqlCommand

MetadataWorkspace问题:是否可以通过或其他方式从 Type 中提取 Discriminator 值?

我正在寻找类似的东西GetDiscriminatorValue<Cat>("ColumnName")

如果不可能:是否有另一种方法,这样我就不必在代码中的某处硬编码这些值?

谢谢,

4

1 回答 1

3

我还没有尝试过,但似乎您可以使用反射和 MetadataWorkSpace 获取值(和其他非公共属性)。看看这个例子: http: //blog.cincura.net/231942-tph-mapping-discriminator-condition-from-metadataworkspace/

于 2013-06-12T10:11:27.137 回答