C# 为什么系里没有讲师

C# 为什么系里没有讲师,c#,asp.net-mvc,C#,Asp.net Mvc,我在看这个例子 我遇到了一些我无法理解的事情 一个讲师可能与多个部门相关,但一个部门可能与讲师相关,也可能与讲师无关 讲师课程: namespace ContosoUniversity.Models { public class Instructor { public int ID { get; set; } [Required] [Display(Name = "Last Name")] [StringLeng

我在看这个例子

我遇到了一些我无法理解的事情

一个讲师可能与多个部门相关,但一个部门可能与讲师相关,也可能与讲师无关

讲师课程:

namespace ContosoUniversity.Models
{
    public class Instructor
    {
        public int ID { get; set; }

        [Required]
        [Display(Name = "Last Name")]
        [StringLength(50)]
        public string LastName { get; set; }

        [Required]
        [Column("FirstName")]
        [Display(Name = "First Name")]
        [StringLength(50)]
        public string FirstMidName { get; set; }

        [DataType(DataType.Date)]
        [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}",       ApplyFormatInEditMode = true)]
        [Display(Name = "Hire Date")]
        public DateTime HireDate { get; set; }

        [Display(Name = "Full Name")]
        public string FullName
        {
            get { return LastName + ", " + FirstMidName; }
        }

        public virtual ICollection<Course> Courses { get; set; }
        public virtual OfficeAssignment OfficeAssignment { get; set; }
    }
}

如果没有,那么原因是什么?

如果
讲师
有一套
部门ID
,那么他们就不能在多个部门工作。您必须检查
部门
以查看哪个
讲师
在该
部门
,但您不能检查
讲师
以查看他们属于哪个
部门。(至少是目前的设置方式)那么公共虚拟Icollection部门{get;set:}可以工作吗?是的,可以工作。我建议将它命名为
部门
,但要用复数,因为它是一个集合。这样,访问
讲师.部门
就更有意义了,因为知道可以有多个部门。如果
讲师
有一套
部门ID
,那么他们就不能在多个部门。您必须检查
部门
以查看哪个
讲师
在该
部门
,但您不能检查
讲师
以查看他们属于哪个
部门。(至少是目前的设置方式)那么公共虚拟Icollection部门{get;set:}可以工作吗?是的,可以工作。我建议将它命名为
部门
,但要用复数,因为它是一个集合。这样,访问
讲师。部门
知道可以有多个讲师就更有意义了。
namespace ContosoUniversity.Models
{
   public class Department
   {
      public int DepartmentID { get; set; }

      [StringLength(50, MinimumLength=3)]
      public string Name { get; set; }

      [DataType(DataType.Currency)]
      [Column(TypeName = "money")]
      public decimal Budget { get; set; }

      [DataType(DataType.Date)]
      [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
      [Display(Name = "Start Date")]
      public DateTime StartDate { get; set; }

      public int? InstructorID { get; set; }

      public virtual Instructor Administrator { get; set; }
      public virtual ICollection<Course> Courses { get; set; }
   }
}
public int? DepartmentID {get; set;}
Public Virtual Department Department {get; set;}