我有3个模型:Order,Organization和OrderOrganisation。
OrderOrganisation的存在不是强制性的......但我不知道如何告诉EF。
目前,如果我编写查询,它使用内部联接而不是外部联接来加入OrderOrganisation。
我想将其作为模型的一部分(如果可能)而不是在上下文中(因为它是一个大型数据库,我认为将上下文片段用于逻辑)。
以下是我的模特。
public class Order
{
public int Id { get; set; }
public virtual ICollection<OrderOrganisation> OrderOrganisations { get; set; }
}
public class Organisation
{
public int Id { get; set; }
public virtual ICollection<OrderOrganisation> OrderOrganisations { get; set; }
}
public class OrderOrganisation
{
[Key, Column(Order = 0)]
public int OrderId { get; set; }
[Key, Column(Order = 1)]
public int OrganisationId { get; set; }
[ForeignKey("OrderId")]
public virtual Order Order { get; set; }
[ForeignKey("OrganisationId")]
public virtual Organisation Organisation { get; set; }
}
我需要包括哪些内容?
我认为我需要制作可以为空的东西,但我无法解决问题。
由于
答案 0 :(得分:0)
您不必在EF上的这种情况下创建交叉表。下面的代码对我来说已经足够了我认为
public class Order
{
public int Id { get; set; }
public virtual ICollection<Organisation> OrderOrganisations { get; set; }
}
public class Organisation
{
public int Id { get; set; }
public virtual ICollection<Order> OrderOrganisations { get; set; }
}
然后EF将创建OrganisationOrders命名表。