Хорошо, я опишу это как можно проще. Например - у меня есть две таблицы в базе данных, Employee & Профиль. Сотрудник имеет внешний ключ для идентификатора профиля, поэтому 1 Профиль может быть назначен для многих сотрудников, чтобы определить их права доступа, все хорошо и хорошо.Entity Framework Повторное добавление существующих объектов базы данных
В EF с использованием C# - При выборе сказать создание сотрудника и настройку уже существующего профиля, как показано ниже, он пытается снова добавить профиль в базу данных?
using (var ds = new DSEntities())
{
Employee e = new Employee();
e.AccessProfile = ds.AccessProfiles.First();
ds.Employees.Add(e);
ds.SaveChanges();
}
Только запись сотрудника является новой и профиль не является. Может ли кто-нибудь подтвердить, почему он это делает? Я могу установить ключ Employee.AccessProfileID напрямую и просто установить его в файл ds.AccessProfiles.First(). AccessProfileID, поэтому я не работаю с объектом и не пытаюсь добавить его снова как просто ссылку, но я действительно не думаю, что мне тоже нужно, и я должен что-то упустить, я могу выбрать эти элементы непосредственно как объекты, но их назначение всегда приводит к повторному добавлению базы данных и т. д.