根据此来源。
应该可以将TPH鉴别器列设置为整数类型:
另外,改变鉴别器列的数据类型是有意思的。在上面的代码中,我们向HasValue方法传递了字符串,但是这个方法已经定义为接受一个对象类型:
public void HasValue(object value);
因此,例如如果我们将int类型的值传递给它,那么Code First不仅会在鉴别器列中使用我们想要的值(即1和2),而且还会更改列类型为(INT,NOT NULL):
modelBuilder.Entity() .Map(m => m.Requires("BillingDetailType").HasValue(1)) .Map(m => m.Requires("BillingDetailType").HasValue(2));
然而,当我在我的代码中这样做时,我看到的鉴别器值像“1”和“2”,但是列类型仍然是
nvarchar(128),not null
实际上可以指定一个整数鉴别器列吗?如果可以,怎样做?
我确定我将我的映射指定为.HasValue(1)而不是.HasValue("1")。