2011-02-04 7 views
3

AttributesとDataAnnotationを持つクラスで宣言された複合キーを取得しようとしています。EF Codefirst DataAnnotationsを使用して複数の列からキーを作成する方法

[Key] 
[Column(Order=1)] 
public Guid Id { get; set; } 

[Key] 
[Column(Order=2)] 
public int Nr { get; set; } 

これは起こっていないようです。 私が今までに見つけたことは、流暢な選択肢でしたが、注釈だけでこれをやりたいのです。明確にするために

:私は2つのフィールドId及びNrとからなる主キーを持つテーブルを作成するDataAnnotationの方法を探しています を...あなたの助け

おかげ アンドレアス

答えて

0

私は尋ねました先週同様の質問があったが、流暢な構文を探していた。 Mortezaが提供する答え(ef/CTP5についての彼の答えの詳細を探してみてください)は、データ注釈を使用するための構文も示しています。

ここにはlink.があります。

+0

ではありません私が探しているもの。 :-( – nttakr

9

あなたは簡単に次のように流暢APIを使用してこれを行うことができます。また、あなたがEntityTypeConfigurationから継承する別のクラスを作成し、そのコンストラクタで、この行を追加することができます

modelBuilder.Entity<YourClass>().HasKey(obj => new {obj.Id,obj.Nr}); 

public class <*Name*>Mapping:EntityTypeConfiguration<*Name*> 

     public <*Name*>Mapping(){ 
      this.HasKey(obj => new {obj.Id,obj.Nr}); 
     } 
} 
関連する問題