다음과 같은 두 개의 클래스가 있습니다. 엔티티 프레임 워크 외래 키가 입력 된 엔티티로 남아 있습니다.
public class Quest
{
public int ID{ get;set; }
public string Objective
{
get;
set;
}
public DateTime StartDate
{
get;
set;
}
public string Story
{
get;
set;
}
public virtual QuestLocation Location
{
get;
set;
}
}
public class QuestLocation
{
public DateTime CreateDate
{
get;
set;
}
public int ID
{
get;
set;
}
public double Latitude
{
get;
set;
}
public double Longitude
{
get;
set;
}
public virtual Quest Quest
{
get;
set;
}
}
나는 퀘스트의 새로운 인스턴스를 생성하고 그 후 나는 퀘스트가 단순히 QuestLocation 클래스의 새 인스턴스를 생성하는 위치 속성을 설정했습니다.
Question q = new Question();
q.StartDate = DateTime.Now;
q.Objective = "foo";
q.Location = new QuestLocation(){ CreateDate = DateTime.Now, Latitude = 10 , Longitude = 10 };
And add newly created Quest into Database :
DataContext.Quests.Add(q);
DataContext.SaveChanges();
데이터베이스를 보면 지금까지 초기화 한 모든 개체가 만들어집니다. 그러나 QuestLocation의 외래 키 "Quest_ID"는 여전히 NULL입니다. 이 문제를 어떻게 해결할 수 있습니까?
성능에 문제가 있습니까? 이 경우 객체를 추가 할 때마다 변경 사항을 저장해야하기 때문에 – kkocabiyik
첫 번째'SaveChanges()'메소드를 생략 할 수 있습니다. 제 생각에는 성능 문제가 해결 될 수 있습니다. – sarwar026
첫 번째 SaveChanges를 생략하면 내 코드와 코드의 차이점은 무엇입니까? Quest_ID를 설정하여 QuestLocation 객체 인스턴스를 퀘스트로 자동 설정하지 않아야합니까? – kkocabiyik