1

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

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

我的问题是有一个复合键,但我不知道如何在我的模型中声明它。我进行了一些搜索,发现的任何内容都包括添加[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; }
4

1 回答 1

1

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

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

希望能帮助到你!

于 2012-11-12T01:14:14.127 回答