2017-03-18 3 views
-2

나는 세 개의 테이블을 가지고있다.하나에 연결된 세 개의 테이블.</p> <ul> <li>주문</li> <li>불만</li> <li>반환 나는 위의 모든 테이블에 대한 배송 정보를 저장할 </ul> <p></li> : EF

각 테이블과 배송 테이블 간의 관계는 0 대 1이어야합니다.

가장 적합한 솔루션은 무엇입니까? 어쩌면 모든 것을 하나의 테이블에 저장할 수도 있지만 어떻게 할 것인가. 도와 주셔서 감사합니다.

답변

0

하나의 테이블에 저장할 수 있습니다. 새 테이블/모델 발송물을 작성하고 기존 테이블/모델에 외래 키 (필수 또는 선택 사항)를 추가하십시오.

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 
} 
+0

고맙습니다. ShipmentId와 같은 null 가능 항목을 피할 수 있습니까? 새 주문을 만들 때 새 발송물을 만들 필요가 없습니다. – wicher

+0

귀하의 비즈니스 규칙에 따라 다릅니다. 주문, 불만, 반품 등 세 가지 항목 모두 배송 정보가 필요하다면 예. 그러나 nullable 외래 키에 대해서는 아무런 문제가 없습니다. – Tacud

+0

아, 널 위해 나쁘다. 나는 브리지 테이블에 대해서도 생각하고 있었지만 그것이 내 문제에 대한 최선의 해결책인지는 모르겠다. – wicher