Столбец карты Entity Framework, только если он существует - PullRequest
0 голосов
/ 09 февраля 2012

Я пытаюсь найти способ заполнить только свойство моего класса сущностей, если столбец существует в запросе?

Когда я выполняю запрос, используя DbSet.SqlQuery и возвращая заполненный столбец (который является псевдонимом), все в порядке. Но при использовании встроенных функций, таких как All (), Find (), ToArray () и т. Д., Он ожидает, что этот столбец будет в наборе данных.

Есть ли способ (без необходимости написания всех вспомогательных запросов вручную) пометить свойство в моем классе сущности как необязательное.

В настоящее время он помечен как обнуляемый DateTime, но фреймворк все еще жалуется, что его не существует при использовании встроенных функций.

Любые предложения будут великолепны!

Приветствия

1 Ответ

1 голос
/ 09 февраля 2012

Нет, потому что они должны построить запрос SQL. Не имеет значения, является ли столбец обнуляемым или нет, важно то, что при построении запроса, если этот столбец не существует, база данных, скорее всего, выдаст ошибку с жалобой на то, что столбец не существует.

Единственный способ обойти это - не отображать его или не запрашивать схему при отображении и условно отображать свойство (хотя я бы не рекомендовал этого).

...