저는 몇 년 전에 엔티티 프레임 워크에서 작업했으며, 이것은 약간 녹슬지 않을 수 있습니다. 나는 엔티티를 분리 했으므로 여러 엔티티 엔티티가 차례로 있습니다. 제 경우에는 그것은 하나의 엔티티이고 각 사람마다 여러 개의 주소가 있습니다.엔티티 프레임 워크와 일대 다 관계가 올바르게 저장되지 않음
myPerson.FirstName="update first name";
//assuming they already have an address in the first entry
//with appropriate primary keys and foreign key ids, I could do:
myPerson.Addresses.First().Line1="update line 1";
myPerson.Addresses.Add(new Address(){line1="weee",line2="aaaa" postal="12345", type="work"});
myDb.Person.Attach(myPerson);
myDb.Entry(myPerson).State=EntityState.Modified;
myDb.SaveChanges();
이와 같은 시나리오를 수행 할 때 나는 이름으로 기대하는 것을 얻습니다. 이름을 업데이트하면 위 코드에서 다른 필드 (성, 생일 등)가 실제로 비워집니다. 그러나 사람의 새 주소를 만들지 않으며 기존 주소를 업데이트하지 않습니다.
위의 사람과 관련된 관련 엔터티를 업데이트하는 방법을 알기 위해 데이터베이스 컨텍스트에 대한 추가 작업이 필요하다는 점을 기억하지 않습니다. 내 Google 검색에서 나는 상당한 양의 작업을 DB에서 불러 와서 그런 식으로 마을에 갈 필요가 있다는 이야기를 듣는 것 같습니다. 나는 그것이 사실이 아니길 바란다.
시간을내어 의견을 보내 주셔서 감사합니다. 나는 EF를하고있는 마지막 시간을 되돌아 보았고, 나는 매우 다른 시나리오에 있다는 것을 깨달았다. 이전 시나리오에서는 WPF 앱의 데이터 저장소로 로컬 sqlite 파일에 대해 EF를 수행했습니다. 그래서 나는 지역 파일에 국유가 많은 환경에 있었고, 나는 분리 된 것들보다 항상 연결된 실체들과 항상 일하고 있었다. – Danny
현재 나의 시나리오에서는 비즈니스 논리 개발자가 비즈니스 로직 코드와 별도로 엔티티 프레임 워크의 특성을 유지하는 인터페이스에 대해 작성할 수있는 무언가를 만드는 중입니다. 이전 애플리케이션은 비즈니스 코드에서 사용 된 것과 다른 ORM을 추상화하지 않고 (전임자가 작성한 것입니다.) 이러한 애플리케이션에서 완전히 다른 ORM이라고 할 수 있습니다. 나는 우리가 EF에서 변화하고 싶지 않을지라도 그 실수를 다시하고 싶지 않습니다. 분리 된 엔티티의 경우 너무 힘들어 야합니다. 감사. – Danny