密钥和必需数据注释

时间:2013-12-20 20:43:45

标签: c# .net entity-framework data-annotations

使用实体框架时,有以下数据注释:

仅供参考,我使用this wiki article中的定义:

  

主键

     
      
  1. 主键不能允许空值。 (您无法在允许空值的列上定义主键。)
  2.   
  3. 每个表最多只能有一个主键。
  4.         

    唯一键

         
        
    1. 唯一键可以允许空值。 (您可以在允许空值的列上定义唯一键。)
    2.   
    3. 每个表都可以有多个唯一键。
    4.   

KeyAttribute是用于表示主键还是用于表示唯一键?

使用注释时,以下内容会被视为还原或必要吗?

class Example
{
    [Required(), Key()]
    public int Id { get; set; }
    ...
}

1 个答案:

答案 0 :(得分:3)

在您的示例中,这将是多余的,因为模型需要键值才能在使用Key注释后唯一标识它们。

另外,如果您使用Code-First,即使Key也是多余的,因此按照惯例,名为IdModelNameId的属性将用于您的主键。