是否有可能将两个实体映射到单个表(每个层次结构表),但对它们施加不同的验证要求?但在大多数情况下,它们是一样的。
public class Email
{
[Key]
public int Id { get; set; }
[StringLength(4000)]
public String Message { get; set; }
}
public class Tweet
{
[Key]
public int Id { get; set; }
[StringLength(140)]
public String Message { get; set; }
}
然后将这两个实体映射到一个表:
Table: Messages
Id int IDENTITY
Discrimator string
Message nvarchar(4000)
不,这是不可能的,因为您的两个类根本不能映射到一个表。它需要基类定义Id
和Message
,以及从该基类派生的两个空类。共享属性必须在基类中定义=它们只能定义一次并且只有一个属性。