Какова самая раздражающая функция (или отсутствие функции), Вы нашли в Платформе Объекта?

Я запускаю с Платформы Объекта. Это звучит великолепно. Но я задаюсь вопросом, должен ли я не упустить некоторую слабость где-нибудь. Опыт там?

5
задан Kevin Panko 18 December 2009 в 23:34
поделиться

4 ответа

Вам, вероятно, нужно начинать с префикса этих вопросов с версии, о которой вы говорите. Большое количество неудобств было исправлено в следующей версии .NET 4.0.

Вот что я сказал бы после работы с первой версией около 6 месяцев с использованием БД приличного размера в sql 2k8 (40+ таблиц, несколько таблиц с примерно 1 млн строк и приличным объемом трафика)

  • Отсутствие свойств внешнего ключа . Это означает, что если я хочу знать или работать только с идентификатором связанной таблицы, я должен загрузить фактическую сущность. (исправлено в следующей версии)
  • Полное отсутствие простого внешнего соединения , как у linq to sql при использовании DefaultIfEmpty . Исправлено в следующей версии.
  • Сгенерированный Sql не является оптимальным Кажется, это будет исправлено и в следующей версии
  • Очень сложно абстрагироваться от вашего кода для тестируемости и для использования в многоуровневых средах , но это возможно. Это также можно классифицировать как проблему POCO, которая также была решена.

Есть и другие, но это мои основные.

В целом я бы использовал его снова, но если вы начинаете с нуля, пожалуйста, избавьте себя от боли и дождитесь последней версии или начните использовать бета-версию, если сможете.

5
ответ дан 14 December 2019 в 08:52
поделиться

Возможно, вам пригодятся пошаговые руководства для Entity Framework 4.0 . Все обсуждаемые новые функции являются для кого-то раздражающими выбросами из выпущенной в настоящее время версии.

Я нашел особенно интересными новые функции TDD / тестируемости и функции генерации кода T4.

2
ответ дан 14 December 2019 в 08:52
поделиться

О EF1:

  • Сгенерированный SQL ужасен. Он многократно соединяется, он в 10 раз больше, чем мог бы. У меня был простой запрос, но из-за большого количества объединений и генерации этого запроса EF (не выполняемого) мое приложение значительно замедлялось. Нет, я не мог использовать предварительно скомпилированный запрос. Я использовал вид, чтобы справиться с этим. SQL Profiler оказался полезным.
  • Первичные ключи в представлениях не распознаются должным образом. Вы должны изменить файл edmx вручную при импорте представления или обновлении схемы.
  • Вы можете создавать объекты из базы данных графическим способом, обновлять модель из базы данных, но это не всегда работает хорошо, особенно при изменении типов полей или внешние ключи.
  • Вы не можете обновить одну таблицу в модели, всегда нужно обновлять всю модель из базы данных.
  • Вы не можете определить базовый класс для своих сущностей, он уже определен (EntityObject). Вы можете использовать интерфейсы, потому что классы определены как частичные.
  • Нет POCO, классы сущностей сильно связаны с платформой.
  • Вы можете установить внешний ключ с помощью EntityReference.EntityKey, но когда у вас есть EntityCollection, подготовьтесь к поездке туда и обратно. дб. Или мне что-то не хватает?
1
ответ дан 14 December 2019 в 08:52
поделиться

Я нахожу объекты POCO и дизайн, ориентированный на модель, в бета-версии EF4 очень привлекательными.

-1
ответ дан 14 December 2019 в 08:52
поделиться
Другие вопросы по тегам:

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