实体框架ASP.net MVC中的不同类型的关系

时间:2016-01-30 22:19:07

标签: asp.net sql-server asp.net-mvc entity-framework

我正在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小时没有成功一样。我尝试了很多东西,每当我遇到某种错误。什么是这种关系类型,例如它是一对一,一对多?这对我来说都很奇怪。

由于

0 个答案:

没有答案