나는 다음과 같은 요소를 가지고 :Entity Framework의 새 개체에 외래 키를 열심히로드 할 수 있습니까?
public class Seminar
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public virtual List<Meeting> Meetings { get; set; }
}
및
public class Meeting
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public int SeminarId { get; set; }
public string ThirdPartyId { get; set; }
public DateTime StartDate { get; set; }
public virtual Webinar Webinar { get; set; }
}
Meeting
가 SeminarId
특성 (외래 키)에 의해 Seminar
관련이있다.
제 3 자 API를 호출 한 후 속성 (이름을 변경하여 관심 분야를 보호)이 채워지므로 해당 시스템에 대한 '링크'입니다.
이 호출을하려면 (해당 시스템에서 동일한 객체를 만드는 경우) 회의와 관련된 세미나 정보 인 Title
및 Description
이 필요합니다.
그럼 내가 지금처럼 새로운 모임을 만들 가정 해 봅시다 :
using (var db = new MyDbContext())
{
Meeting meeting = new Meeting
{
SeminarId = 5 // this would normally be loaded from elsewhere, obviously
};
// Load the meeting.Webinar property somehow here
m_thirdPartyApiClient.CreateMeeting(meeting); // Uses meeting.Webinar.Title and meeting.Webinar.Description
db.SaveChanges();
}
는 내가 뭘하고 싶은 것은 타사 API 또는 SaveChanges
를 호출하기 전에 meeting
에 외래 키 속성을로드하는 것입니다. 이것이 가능한가?
왜 그냥 ID로 세미나에 대한 데이터베이스를 호출? –
그럼 API 클라이언트를 수정하고 회의 * 및 * 세미나를 통과해야합니다. 나는 그것을 고려했다. 그러나 그것은 이상적이지 않다. –
아니요. 반환 된 세미나를 가상 세미나 필드 –