Я использую первый метод DB, EF 4.1 с кодом POCO DbContext gen.
Моя база данных имеет отношение "многие ко многим", как показано ниже:
Employee
EmployeeID
EmployeeName
Счет
AccountId
AccountName
EmployeeAccount
EmployeeID
AccountId
Проблема возникает, когда я пытаюсь вставить нового сотрудника и назначить ему уже существующую учетную запись, поэтому я делаю это, как показано ниже:
Employee emp = new Employee();
emp.EmployeeName = "Test";
emp.Accounts.Add(MethodThatLooksUpAccountByName("SomeAccountName"));
context.Employees.Add(emp);
context.SaveChanges();
SQL, который он выполняет (неправильно), пытается ВСТАВИТЬ новую запись [Учетная запись], и это не удается из-за нарушения ограничения. Конечно, он не должен вставлять новую запись [Account], он должен вставлять только новую запись [EmployeeAccount] после вставки [Employee].
Есть совет? Спасибо.