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

时间:2011-10-19 12:46:01

标签: 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; }
    [StringLength(140)]
    public String Message { get; set; }
}

然后让这两个实体映射到一个表:

Table: Messages

Id int IDENTITY
Discrimator string
Message nvarchar(4000)

1 个答案:

答案 0 :(得分:0)

不可能,因为你的两个类根本无法映射到一个表。它需要定义IdMessage的基类以及从该基类派生的两个空类。共享属性必须在基类中定义=它们只定义一次并且只有一个属性。