У меня действительно есть два вопроса:
- В чем разница между объектом Entity Framework Entity и объектом ADO.NET C # POCO.
- Нужно ли обновлять запись с использованием правильного репозитория?
Если вы выключите генерацию кода, а затем добавите ADO.NET C # POCO Entity Generator , он обеспечит хорошее представление класса ваших объектов Entity Framework 4. Идея в том, что ( отсюда ):
The POCO Template can be used to generate persistence ignorant entity types
from an Entity Data Model.
Однако эти объекты имеют отношения между объектами, а также ссылку на базу данных. Например, вы можете извлечь один из своего хранилища, изменить его, затем сохранить изменения на уровне хранилища или единицы измерения и сохранить содержимое в базе данных.
Так что мой вопрос в том, что отличается между собственным объектом Entity Framework и этими POCO, сгенерированными с помощью этого инструмента?
Это то, что я думаю, когда обновляю запись с помощью репозитория. Это неправильно?
- Запрос POCO из хранилища.
- Репозиторий загружает записи из контекста данных, создает новый POCO для каждой найденной записи, копирует значения из объектов Entity Framework в POCO и возвращает коллекцию новых POCO.
- Изменения вносятся в эти POCO вне хранилища, затем POCO отправляются обратно в хранилище с использованием чего-то вроде Save (POCO).
- Репозиторий загружает соответствующие записи из базы данных и копирует свойства POCO в объекты Entity Framework.
- Один вызов Сохранить, используя либо объект хранилища, либо единицу измерения рабочего объекта.