私はエンティティフレームワークでコードファーストと一対一の関係を実現しようとしています。 FlightPlanを持つ飛行機のテーブルを作成したいと思います。エンティティフレームワークと一対一の関係
飛行機:
public class Airplane
{
[Key]
public int AirplaneId { get; set; }
public int Capacity { get; set; }
public AirplaneStatus AirplaneStatus { get; set; }
public int AmountOfPassengers { get; set; }
public int AirfieldId { get; set; }
public virtual FlightPlan FlightPlan { get; set; }
}
フライトプラン:私は移行して、これらのクラスを初期化すると
public class FlightPlan
{
[Key]
[ForeignKey("Airplane")]
public int AirplaneId { get; set; }
public int AirfieldFrom { get; set; }
public int AirfieldTo { get; set; }
public int AmountOfPassengers { get; set; }
public virtual Airplane Airplane { get; set; }
}
次の表の構造が作成されます。
私が作成し管理した後、 FlightPlanを搭載した飛行機、タクいくつかの回避策がありますが、飛行機は何を試してもFlightplanを持っていません。
どのように私はこの問題を解決することができますか?
編集
はテスト目的のために私はすべての更新飛行機のフライトプランを追加します。これを修正した後、Flightplanを追加するためのルートが作成されます。コードは:
var airplane = _context.Airplanes.Find(model.AirplaneId);
var flightplan = new FlightPlan() { AirfieldFrom = 1, AirfieldTo = 2, AmountOfPassengers = 30 };
airplane.FlightPlan = flightplan;
_context.SaveChanges();
私の問題の解決策は、飛行機を取得するときにEFにFlightPlanを含めることです。
飛行計画を作成してDBに追加しましたか?飛行機/飛行計画作成コードを掲示する。 – Gusman
モデルが正しいです。挿入コードを表示します。 http://www.entityframeworktutorial.net/EntityFramework4.3/add-one-to-one-entity-using-dbcontext.aspx –
どうしてあなたは飛行機と飛行機の両方で 'AmountOfPassengers'を持っていますか?飛行機に乗っている人は能力があると思いますか? –