小编典典

实体框架中多列的唯一键约束

all

我使用的是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

有没有办法做到这一点?


阅读 77

收藏
2022-04-27

共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; }

属性中的第二个参数是您可以指定索引中列的顺序的位置。
更多信息:MSDN

2022-04-27