DB 첫 번째 방법 인 EF 4.1에서 DbContext POCO 코드 gen을 사용하고 있습니다.또 다른 다 대다 합병증 - Entity Framework 4.1 DbContext
내 데이터베이스가있는 다 대다 관계 아래와 같이
직원
이
계정
이
을 계정 아이디 EmployeeName를 직원 ID 16,계정 이름
EmployeeAccount
는
이 문제는 내가 직원을 업데이트하려고하고, 사전에 기존 계정에 자신의 계정 지정을 변경, 그래서하고 경우에 발생
을 계정 아이디를 직원 ID 기본적으로 아래와 같이합니다 :
using(context)
{
var query = from e in context.Employees.Include(f => f.Accounts)
where e.EmployeeId == employeeId
select;
Employee emp = query.FirstOrDefault()
}
emp.EmployeeName = "Test";
emp.Accounts.Clear();
Account act = MethodThatLooksUpAccountByName("SomeAccountName");
emp.Accounts.Add(act);
using(context)
{
context.Accounts.Attach(act);
emp.State = EntityState.Modified;
context.Employees.Attach(emp);
context.SaveChanges();
}
생성되는 SQL이 [Employee] 테이블에 대한 업데이트를 실행하고 [EmployeeAccount]에 대한 업데이트가 없으며 삭제가 없습니다.
사과드립니다. 상황을 올바르게 나타내지 못했습니다. 컨텍스트가 linq 문 다음에 처리되므로 첨부 된 시나리오가 아닙니다. 편집 된 질문보기 – EkoostikMartin
@EkoostikMartin : 답변을 업데이트했습니다. – Slauma
감사합니다, 그 작품, 또한 내게 어떤 EF 개념의 더 나은 이해를 준다.EF는 단절된 엔티티로 작업하는 것을 어렵게 만드는 중요하지 않은 문제를 가지고있는 것처럼 보입니다. 데이터 모델 및 운영 요구 사항이 더욱 복잡해지면서 데이터 모델이 더욱 악화 될까 봐 걱정됩니다. – EkoostikMartin