我正在ASP.NET MVC(代码优先)中开发一个Web应用程序,而且我是实体框架的新手,我很难理解这些关系。
我有3个名为的模型:工人,过家和会计。我基本上记录员工的付款和工资。因此,工人可以有多个工作时间(额外的工作时间)和会计记录。 Overhour应该只有一个工人,每个小时候也应该有一个会计记录。会计应该有一名工人。
以下是我的模型(仅限于必要字段):
工人
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int WorkerId { get; set; }
public virtual ICollection<Overhour> Overhours { get; set; }
public virtual ICollection<Accounting> Accountings { get; set; }
Overhour
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int OverhourId { get; set; }
public int WorkerId { get; set; }
public int PhaseId { get; set; }
public int AccountingId { get; set; }
public virtual Worker Worker { get; set; }
public virtual Phase Phase { get; set; }
public virtual Accounting Accounting { get; set; }
会计
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int AccountingId { get; set; }
public int WorkerId { get; set; }
public int PhaseId { get; set; }
public virtual Worker Worker { get; set; }
public virtual Phase Phase { get; set; }
这是事情,我不知道如何形成会计和过度时间之间的关系。因为过度时间应该有会计,但会计不需要过时,因为其他控制器也可以创建会计。我一直试图解决这个问题,就像过去6-7小时没有成功一样。我尝试了很多东西,每当我遇到某种错误。什么是这种关系类型,例如它是一对一,一对多?这对我来说都很奇怪。
由于