Это действительно ожидаемое поведение? Я использую стандартные шаблоны P4O T4 (но Repository и UnitOfWork генерируются с помощью http://geekswithblogs.net/danemorgridge/archive/2010/06/28/entity-framework-repository-amp-unit-of-work-t4-template-on.aspx, хотя проблема, похоже, связана с исправлением POCO)
Если я сделаю следующее
var UOW = new EFUnitOfWork();
UOW.LazyLoadingEnabled = true;
UOW.ProxyCreationEnabled = true;
var horderRepo = RepositoryHelper.GetHORDERRepository(UOW);
var subrelmRepository = RepositoryHelper.GetSUBRELMRepository(UOW);
var ho = horderRepo.Where(h=>h.RECORD_NUMBER==1).FirstOrDefault();
var somerelm = subrelmRepository.Where(r=>r.RECORD_NUMBER==ho.REALM_KEY+1).FirstOrDefault();
ho.SUBRELM=somerelm;
UOW.Commit();
return View(ho);
каждый раз, когда я меняю ho.SUBRELM на новый RELM, вызывается ожидаемое исправление POCO. Если на этот relm указывает 100 000 других HORDERS (которые некоторые из них), то исправление, кажется, обходит их, занимая вечность (или до тех пор, пока не закончится память - в зависимости от того, что произойдет раньше)
Если я отключу ленивую загрузку, этого не произойдет, но действительно ли я должен ожидать, что исправление отменит все отношения в моей базе данных? Или что-то еще пошло не так? Если так, то что?