Entity Framework の複数の列に対する一意のキー制約 質問する

Entity Framework の複数の列に対する一意のキー制約 質問する

Entity Framework 5.0 Code First を使用しています。

public class Entity
 {
   [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
   public string EntityId { get; set;}
   public int FirstColumn  { get; set;}
   public int SecondColumn  { get; set;}
 }

FirstColumnとの組み合わせをSecondColumnユニークなものにしたいと思っています。

例:

Id  FirstColumn  SecondColumn 
1       1              1       = OK
2       2              1       = OK
3       3              3       = OK
5       3              1       = THIS OK 
4       3              3       = GRRRRR! HERE ERROR

それをする方法はありますか?

ベストアンサー1

Entity Framework 6.1 では、次のことが可能になりました。

[Index("IX_FirstAndSecond", 1, IsUnique = true)]
public int FirstColumn { get; set; }

[Index("IX_FirstAndSecond", 2, IsUnique = true)]
public int SecondColumn { get; set; }

属性の 2 番目のパラメータでは、インデックス内の列の順序を指定できます。
詳細情報:マイクロソフト

おすすめ記事