【问题标题】:Map two entities with different validation requirements to a single table将具有不同验证要求的两个实体映射到单个表
【发布时间】:2011-10-19 12:46:01
【问题描述】:

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

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)

【问题讨论】:

    标签: entity-framework entity-framework-4 ef-code-first


    【解决方案1】:

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

    【讨论】:

    • 谢谢。我想我只会有一个基类,然后根据鉴别器对消息长度进行一些验证。
    猜你喜欢
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    • 2015-01-07
    • 1970-01-01
    相关资源
    最近更新 更多