Можно ли сопоставить неполные столбцы sproc с сущностью? - PullRequest
0 голосов
/ 03 февраля 2010

Я использую последнюю бета-версию Visual Studio 2010 и Entity Framework. Это в основном очень аккуратно, но вот моя ситуация:

  • У меня есть таблица T со столбцами Id и Name.
  • У меня есть автоматически созданная сущность со свойствами Id и Name.
  • Наконец, у меня есть хранимая процедура, которая выбирает только Id из T.

Попытка сопоставить мою сущность с хранимой процедурой приводит к EntityCommandExecutionException:

Член [объекта], 'Имя', не имеет соответствующего столбца в считывателе данных с тем же именем.

Это имеет смысл, но есть ли способ частично заполнить мою сущность из вызова хранимой процедуры, а затем полностью материализовать ее позже вторым запросом?

Девять месяцев назад ответ на этот вопрос, по-видимому, был связан с большим количеством ручного труда. В моем случае у нас есть сотни хранимых процедур, и буквально ни одна из них не возвращает полные строки. С тех пор Entity Framework прошел большой путь, поэтому я надеюсь, что что-то могло измениться.

Заранее благодарю за любую помощь!

1 Ответ

1 голос
/ 04 февраля 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...