0

Я хочу иметь объект ObjectQuery, который возвращает отслеживаемые объекты (а не статические данные), но я не хочу, чтобы он загружал все столбцы, я хочу, чтобы некоторые столбцы загружались как null, я не хочу использовать select, поскольку это вернет IEnumerable значений, а не отслеживаемых объектов.Entity Framework: исключить столбцы из выделения в Entity Framework?

Есть ли способ сделать это?

Если да, то как мне заполнить эти столбцы по требованию?

ответ

2

Вы пытались создать представление, а затем отобразить представление?

Создав представление, вы можете выбрать столбцы, которые действительно хотите, и только те будут отображаться на модели сущности.

+0

Да, я попробовал. но невозможно сопоставить представления в EF! Прочитайте еще один вопрос, который я разместил перед отправкой этого сообщения (я действительно разместил его после того, как его расстроили): http://stackoverflow.com/questions/3581034/create-one-to-one-relationship-between-table- и вид-в-EF4 – Shimmy

0

Я думаю, что единственный способ - создать новый тип сущности, который не будет содержать столбцы, которые вам не нужны. Вы сопоставите этот тип объекта с той же таблицей. По требованию (ленивый) загрузка работает только для навигационных свойств.

Edit:

Моя предыдущая идея не работает, но в некоторых особых случаях вы можете использовать идею из этого article. Вместо моделирования единого объекта из отдельной таблицы вы будете моделировать несколько объектов, связанных с отношениями 1: 1. Объекты не будут перекрываться в свойствах (кроме первичного ключа), поскольку моя предыдущая идея предполагалась, потому что она не работает. У вас будет основной объект с полями, которые вы хотите немедленно загрузить, и связанными с ними объектами, которые будут загружаться по мере необходимости.

+0

+1 за идею, но вы протестировали этот путь, и это работает? Вы уверены, что модель позволит использовать несколько типов для одной таблицы? Также, как я буду сопоставлять между двумя типами (например, TableFull, TableSummary)? – Shimmy

+0

Хорошо, мое плохое. Я был уверен, что это должно быть возможно, но быстрый тест показал мне, что команда EF снова подвела меня. Отображение двух несвязанных объектов в одну и ту же таблицу выглядит большой проблемой. Началось с ошибки, что сущности разделяют первичный ключ и решают эту проблему с помощью какого-то взлома, только подняли другие проблемы. –

+0

Я думаю, что Entity Framework - отличная идея, очень жаль, что она управляется ленивыми командами Microsoft. Потому что так много ключевых функций отсутствуют. Есть ли продукты лучше, чем EF (с дизайнером)? – Shimmy

Смежные вопросы