코드 우선으로 엔티티 프레임 워크에서 일대일 관계를 실현하려고합니다. 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; }
}
은 다음 테이블 구조가 생성된다 : I 작성 관리 후
FlightPlan이있는 비행기, tak 몇 가지 해결 방법이 있지만, 비행기에는 내가 시도한 것에 상관없이 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'를 얻었습니까? 비행기에있는 사람이 정원이되어야합니까? –