Entity framework 将具有不同验证要求的两个实体映射到一个表

Entity framework 将具有不同验证要求的两个实体映射到一个表,entity-framework,entity-framework-4,ef-code-first,Entity Framework,Entity Framework 4,Ef Code First,是否可以将两个实体映射到每个层次结构的单个表,但对它们施加不同的验证要求?但在大多数情况下,它们是一样的 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; }

是否可以将两个实体映射到每个层次结构的单个表,但对它们施加不同的验证要求?但在大多数情况下,它们是一样的

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的基类,以及从该基类派生的两个空类。共享属性必须在基类中定义=它们只定义一次并且只有一个属性。

谢谢。我想我只需要一个基类,然后根据鉴别器对消息长度进行一些验证。