Могу ли я получить POCO из функции импорта EF4? - PullRequest
2 голосов
/ 24 февраля 2010

В контексте Entity Framework 4 поведение по умолчанию при добавлении функции импорта заключается в вызове ее через ExecuteFunction<T>(), где T, по-видимому, должно реализовывать некоторые элементы уведомления об изменении свойства. (В моем случае он генерирует сложный тип, полученный из ComplexObject.)

Мне не нужны или не нужны уведомления об изменениях, и я должен отправить POCO вверх по линии после этих вызовов sproc.

Есть ли способ получить POCO напрямую из вызова EF sproc? Если нет, есть ли у кого-нибудь рекомендации по превращению моего результата в sproc в POCO?

(я кратко поиграл с шаблоном POCO , но, похоже, он никак не поддерживает хранимые процедуры.)

1 Ответ

2 голосов
/ 24 февраля 2010

ExecuteFunction<T> возвращает ObjectResult<T>, который реализует IEnumerable<T>, поэтому вы можете проецировать T на что угодно через LINQ. E.g.:

IEnumerable<MyPoco> = from f in Context.MyFunction()
                      select new MyPoco
                      {
                          A = f.A,
                          B = f.B
                      };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...