根据这个消息来源

http://weblogs.asp.net/manavi/archive/2010/12/24/inheritance-mapping-strategies-with-entity-framework-code-first-ctp5-part-1-table-per-hierarchy-tph.aspx

应该可以让 TPH 鉴别器列是一个整数:



但是,当我在代码中执行此操作时,我会看到诸如“1”和“2”之类的鉴别器值,但列类型仍然是



实际上是否可以指定整数鉴别器列?如果是这样,如何?

我确定我将映射指定为 .HasValue(1) 而不是 .HasValue("1")。

最佳答案

modelBuilder.Entity<X>()
    .Map<X>(m => { m.Requires("BillingDetailType").HasValue(0).HasColumnType("tinyint"); })
    .Map<Y>(m => { m.Requires("BillingDetailType").HasValue(1); m.MapInheritedProperties(); })
    .Map<Z>(m => { m.Requires("BillingDetailType").HasValue(2); m.MapInheritedProperties(); })
    ;

关于entity-framework - EF 代码第一个整数鉴别器列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12489363/

10-13 02:26