在尝试对现实生活进行建模时,我对实体框架有一些问题 问题。 我有2个这样的实体:
public class Person
{
public int Id { get; set; }
public ICollection<Task> Tasks{ get; set; }
}
public class Task
{
public int Id { get; set; }
public Person Assignee{ get; set; }
public Person Assigner{ get; set; }
}
但是如果我想使用实体框架,它会迫使我像现实生活中那样改变我的模型!
public class Person
{
public int Id { get; set; }
public ICollection<Task> AssigneesTasks{ get; set; }
public ICollection<Task> AssignerTasks{ get; set; }
}
(实际上我只有一对多关系)
如何使模型保持真实状态呢?
答案 0 :(得分:0)
好吧,您可能想知道一个人分配给他们的任务,以及他们分配给其他人的任务。如果您不想同时使用这两个Navigation属性,则在EF中不需要它们。但是您要做需要告诉EF导航属性适用于哪种关系。 EG:
public class Person
{
public int Id { get; set; }
[InverseProperty("Assignee")]
public ICollection<Task> Tasks { get; set; }
}
public class Task
{
public int Id { get; set; }
public Person Assignee { get; set; }
public Person Assigner { get; set; }
}