Платформа объекта ПОСТЕПЕННО

Что каждый освобождает путем создания ПОСТЕПЕННО использующий шаблоны T4 в платформе объекта 4.0? Почему поведение по умолчанию при использовании платформы объекта 4.0 для не создания ПОСТЕПЕННО?

5
задан rkrauter 6 April 2010 в 18:22
поделиться

1 ответ

Вы теряете ряд вещей. «Чистый» POCO имеет ограниченное использование в ORM, потому что он не отслеживает изменения. Другими словами, когда вы изменяете объект, а затем сохраняете изменения в контексте, вы хотите, чтобы измененные свойства сохранялись в базе данных. С «чистым» POCO вы можете сделать это с помощью отслеживания изменений на основе снимков, что довольно неэффективно. Вы также можете сделать это с помощью прокси времени выполнения, которые заставят вас сделать ваши свойства трека общедоступными виртуальными , поэтому у вас, вероятно, больше нет «POCO». Кроме того, использование прокси означает, что вы не знаете истинный тип среды выполнения экземпляра.

Вы также теряете некоторые удобные свойства, такие как EntityState .

«Чистые» объекты POCO не могут выполнять отложенную загрузку. Опять же, вы можете обойти это с помощью типов прокси, но, опять же, если вы используете прокси, у вас действительно нет «чистого» POCO.

Вдобавок ко всему, в Entity Framework меньше необходимости использовать сущности POCO, чем в некоторых других ORM.Это связано с тем, что вы всегда можете проецировать свои типы сущностей на экземпляры POCO с помощью LINQ без необходимости сначала материализовать экземпляры сущностей. Таким образом, «чистые» POCO всегда доступны в приложении Entity Framework, даже если вы не сопоставляете свои объекты таким образом.

3
ответ дан 15 December 2019 в 06:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: