Если у вас есть интерфейс для репозитория, который включает
T Add( T entity);
Репозиторий не будет включать в себя Save () или SaveChanges (). Если вы должны были вернуть «сущность» с:
return _dc.Entities.Where( n => n.ID == entity.ID).Single();
Я бы не ожидал, что это попадет в базу данных и автоматически сгенерирует значения идентичности (автоинкремент). Два вопроса:
- Какие значения будут в полях для идентификатора, если предполагается, что это поле идентификатора (с автоинкрементом)?
- Когда это действительно сохраняет, можем ли мы ожидать, что поля идентификаторов будут автоматически обновляться в возвращаемом объекте?
- Есть ли команда, которая будет обновлять ссылки на объекты из базы данных вне хранилища?
При этом используется ASP.NET POCO Generator для Entity Framework 4 с виртуальными свойствами.