三个表连接到一个。 EF

时间:2017-03-18 20:46:00

标签: asp.net-mvc tsql entity-framework-6 ef-database-first

我有三张桌子:

  • 订单
  • 投诉
  • 返回

我想存储有关上述所有表格的货件信息。

每个表与Shipment表之间的关系必须为零或一对一。

最佳解决方案是什么?也许可以将所有内容存储在一个表中,但是如何存储。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

可以将它存储在一个表中。只需创建一个新的表/模型Shipment并将外键(必需或可选)添加到现有表/模型

public class Order {
    public int Id { get; set; }
    public int ShipmentId { get; set; }
    public virtual Shipment Shipment { get; set; }
    // other properties
}

public class Complaint {
    public int Id { get; set; }
    public int? ShipmentId { get; set; }
    public virtual Shipment Shipment { get; set; }
    // other properties
}

public class Return {
    public int Id { get; set; }
    public int ShipmentId { get; set; }
    public virtual Shipment Shipment { get; set; }
    // other properties
}

public class Shipment {
    public int Id { get; set; }
    // more properties
}