我正在学习ASP.NET并尝试使用代码第一种方法使用MVC创建两个表。以下是课程的.cs文件。
public class Instructor
{
[Key]
public string name { get; set; }
public string address { get; set; }
public string address_ { get; set; }
public string email { get; set; }
}
public class Course
{
[Key]
[DisplayName("Course")]
[Required(ErrorMessage = "CSExxx")]
public string progId { get; set; }
public string subject { get; set; }
public string semester { get; set; }
public string description { get; set; }
[ForeignKey("instructor")]
public virtual string name { get; set; }
public virtual Instructor instructor { get; set; }
}
我添加了相应的控制器,并且预期视图由visual studio自动生成。一旦我运行项目并点击下面的讲师菜单就是打开的窗口。
显然,我无法看到我声明为PK的名称列。现在,当我点击新建时,我可以看到四列,包括主键列名称。
我的问题为什么我无法在主显示屏中看到主键列。
答案 0 :(得分:0)
这里的模板和代码生成器假设一个技术密钥,即对用户不可见或有意义的密钥。
您选择name
是值得商榷的,这里的简单解决方案是介绍
[Key]
public int Id { get; set; }
在所有课程中。如果你想坚持这个名字,那么只需编辑生成的cshtml。