У меня есть лица: Компания и Местоположение (один ко многим). Когда я создаю новый объект сущности Location и назначаю свойство навигации (Company) со свойством навигации уже существующего объекта Location (Location _new = new Location(); _new.Company = _old.Company
). Кажется, что в этот момент вновь созданный объект автоматически добавляется в контекст объекта, потому что когда я вызываю метод SaveChanges, этот объект вставляется в базу данных, хотя я не вызывал ObjectContext.AddObject (_new). Я новичок в EF, так что, возможно, есть причина, почему у меня такой результат? Нужно ли присваивать также поданную CompanyReference и как это сделать, чтобы заблокировать это поведение? Я хочу явно добавить новый объект сам.
IDaoFactory daoFactory = new DaoFactory();<br>
ILocationDao locaitonDao = daoFactory.GetLocationDao();<br>
IEnumerable<Location> locations = locaitonDao.GetLocations();<br>
Location _old = locations.First();<br>
Location _new = new Location();<br>
_new.LocationName = _old.LocationName;<br>
_new.Company = _old.Company;// 1<br>
_new.Address = _old.Address;<br>
//...<br>
ContactEntities.SaveChanges();//2
Если я выполняю строку (1) мгновенно, _new объект добавляется в контекст объекта, и я вижу дополнительные данные в моей таблице данных после выполнения строки (2).