2011-10-19 8 views
0

2つのエンティティを単一のテーブル(階層ごとのテーブル)にマッピングできますが、異なる検証要件が課されますか?ほとんどの場合、彼らは同じことです。異なる検証要件を持つ2つのエンティティを1つのテーブルにマップする

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) 

答えて

0

ありません、あなたの2つのクラスがすべてで一つのテーブルにマッピングすることができないので、それは不可能です。 IdMessageの両方を定義する基本クラスと、その基本クラスから派生した2つの空のクラスが必要です。共有プロパティは、基本クラスで定義する必要があります。=それらは一度だけ定義され、属性は1つだけです。

+0

ありがとうございました。私はちょうどベースクラスを持っていると思うし、discriminatorに基づいてメッセージの長さの上にいくつかの検証を実行します。 – Ben

関連する問題