声明复合键

时间:2012-11-12 00:45:29

标签: asp.net-mvc

我遇到了一个问题,我试图从数据库中的表中列出,编辑,创建或删除数据。当我这样做时出现错误:

  

传递的主键值的数量必须与主数量相匹配   在实体上定义的关键值。

我的问题是有一个复合键,但我无法弄清楚如何在我的模型中声明它。我做了一些搜索,我发现的任何内容都包括添加[Key, Column(Order = 0)]但是每当我尝试添加列部分时,它都会声明Column不是命名空间的一部分。我宣布了using System.ComponentModel.DataAnnotations;

这是我需要复合键的模型之一:

DateID,TimeID,ContactID都构成主键

ContactID,CountyNameID,CountyStateIS都是外键

public System.DateTime DateID { get; set; }
public System.TimeSpan TimeID { get; set; }
public int ContactID { get; set; }
public string CountyNameID { get; set; }
public string CountyStateID { get; set; }

1 个答案:

答案 0 :(得分:1)

Column属性位于 System.ComponentModel.DataAnnotations.Schema 命名空间中。

如果您使用的是Visual Studio,则可以将 CTRL +。放在一起,如果您有对程序集的引用,Visual Studio将建议命名空间。

希望它有所帮助!