2017-03-18 8 views
-2

は、私は3つのテーブルを持っています。3つのテーブルが1つにリンクしています。</p> <ul> <li>受注</li> <li>苦情</li> <li>戻り、私は上記の表のすべてについての出荷情報を保存する </ul> <p></li>:EF

各テーブルと出荷テーブルの関係は、ゼロまたは1対1でなければなりません。

最適なソリューションは何ですか?たぶん1つのテーブルにすべてを格納することは可能ですが、どのようにして行うのでしょうか。手伝ってくれてありがとう。

答えて

0

1つのテーブルに格納することができます。新しいテーブル/モデルシップメントを作成し、既存のテーブル/モデルに外部キー(必須またはオプション)を追加するだけです。

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

あなたのビジネスルールによって異なります。注文、苦情、返品の3つのエンティティすべてに出荷情報が必要な場合は、はい。しかし、null可能な外部キーについては何も間違っていません。 – Tacud

+0

ああ、ナルは地獄のように私にとって悪いです。私はブリッジテーブルについても考えていましたが、それが私の問題のための最良の解決策であるかどうかは分かりません – wicher

関連する問題

 関連する問題