主键列默认不可见

时间:2015-03-14 13:51:29

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 model-view-controller

我正在学习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自动生成。一旦我运行项目并点击下面的讲师菜单就是打开的窗口。

enter image description here 显然,我无法看到我声明为PK的名称列。现在,当我点击新建时,我可以看到四列,包括主键列名称enter image description here

我的问题为什么我无法在主显示屏中看到主键列。

1 个答案:

答案 0 :(得分:0)

这里的模板和代码生成器假设一个技术密钥,即对用户不可见或有意义的密钥。

您选择name是值得商榷的,这里的简单解决方案是介绍

[Key]
public int Id { get; set; }

在所有课程中。如果你想坚持这个名字,那么只需编辑生成的cshtml。