主键必须使用EFCode称为"Id"?

bb2*_*bb2 2 sql-server asp.net asp.net-mvc entity-framework

我正在使用ASP MVC 3并基于音乐商店教程编写应用程序.我安装了EFCode框架,右键单击App_Data文件夹创建了一个数据库.表"客户端"的列是IdClient名称

通过右键单击将IdClient定义为主键,并将Identity设置为Yes并自动增量等等.一切似乎都很好......当我运行应用程序时,它告诉我该表没有定义键!

如果我将IdClient重命名为Id没有问题,我的问题为什么它不会将IdClient检测为主键?在教程数据库中,主键未定义为名称"Id"...

谢谢!

Cha*_*ran 5

我假设您的意思是实体框架代码优先.

您可以将该[Key]属性添加到列中.

public class Product
{
    [Key]
    public int TestID { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

实体框架代码首先使用约定优于配置,默认情况下将查找名为"ID"的列以使其成为主键.否则你必须以声明方式.

  • 发现它我使用System.ComponentModel失踪了; 使用System.ComponentModel.DataAnnotations; (2认同)