我有一组需要以这种方式引用自己的四个 POCO 对象:
一个自由职业者可以有多个客户
客户可以有多个项目
项目可以有多个故事。
我想确保的一个可能是自由职业者开始时没有客户,客户开始时没有项目,项目开始时没有故事,所以我想他们需要可以为空?
另一个方向则相反,一个故事需要一个项目,一个项目需要一个客户,一个客户需要一个自由职业者。
我只是想看看在创建模型(onModelCreating 覆盖)时是否需要做任何事情,以确保这是发生的关系。
这是我的对象:
public class Freelancer
{
public int ID { get; set; }
public string Email { get; set; }
public string Password { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string CompanyName { get; set; }
public string Avatar { get; set; }
public Address FreelancerAddress { get; set; }
public ICollection<Client> Clients { get; set; }
}
public class Client
{
public int ID { get; set; }
public string Name { get; set; }
public Address ClientAddress { get; set; }
public string Logo { get; set; }
public ICollection<Project> Projects { get; set; }
}
public class Project
{
public int ID { get; set; }
public string Name { get; set; }
public string Summary { get; set; }
public string Description { get; set; }
public ICollection<Story> Stories { get; set; }
}
public class Story
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime Start { get; set; }
public DateTime End { get; set; }
public decimal Duration { get; set; }
public bool Billable { get; set; }
public string Notes { get; set; }
}
我知道 EF 会自动做一些事情,我只是想问我是否需要做更多的事情来确保我拥有我想要的关系。谢谢