EF 데이터 저장 문제 2 중 "이 두 대상 간의 관계를 정의할 수 없습니다. 왜냐하면 서로 다른 ObjectContext 대상에 부가되기 때문입니다."
4754 단어 context
나는 원래 JAVA로 개발한 것으로 한 쌍의 다중류와 류의 관계를 습관적으로 처리했는데 C#에서도 이렇게 처리했다.다음은 간단한 일대다 관계 C#의 구현(선 데이터베이스, 후 VS 코드 생성)입니다.
public class ObjectA{
public int ID{set;get;}
public int objectbid{set;get;}//
public ObjectB B{set;get;}//VS
}
public class ObjectB[
public int ID{set;get;}
// ObjectA
}
업무 논리에서 습관적으로 ObjectB를 찾은 다음에 다음과 같은 형식으로 값을 부여한다.
public class FormNew:Form{
//……
public void Button1_Click(object sender, EventArgs e){
ObjectB b = XXB();//
ObjectA a = new ObjectA();
a.B = b;
XXA.Save(a);// DBContext a, !!!
}
}
인터넷에서 검색하면 대개 이전에 XXB 방법을 호출한 DBContext와 XXA이다.Save ()의 DBContext가 일치하지 않습니다.구체적인 원리를 저도 잘 몰라요(초보자). 제가 이해할 수 없는 것은 이 종류에 ID가 저장되어 있는데 일치해야 하는데 왜 저장하지 못하게 해요!!그래도 방법을 강구해서 이 문제를 해결해야 한다.본인의 테스트를 통해 상기와 같은 관계 대응 형식을 사용하지 않고 아래의 방법으로 해결할 수 있다.
public class FormNew:Form{
//……
public void Button1_Click(object sender, EventArgs e){
ObjectB b = XXXXX();//
ObjectA a = new ObjectA();
a.objectbid = b.id;// ,
XXXXX.Save(a);// DBContext a,
}
}
public class XXXXX{
public void Save(ObjectA a){
DBContext db = new DBContext();// , DBConText
ObjectB b = db.objectB.where("...");// DBConText B
a.b = b;// , ObjectB DBContext ObjectA DBConText 。
db.objecta.AddObject(a);
}
}
내 생각을 분명히 말했는지 모르겠다.기념으로 남기고 나중에 문제가 생기면 다시 봅시다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WPF의 데이터 컨텍스트 및 자동 연결 소개 - iFour Technolab데이터 소스를 지정하는 몇 가지 방법이 있습니다. 바인딩에 Source 속성을 사용하고 DataContext를 상속할 수 있으며 ElementName 및 RelativeSource 속성도 개체 바인딩에 사용됩니다. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.