Могу ли я получить POCO из импорта функций EF4?
-
22-09-2019 - |
Вопрос
В контексте Entity Framework 4 поведением по умолчанию при добавлении импорта функции является вызов ее через ExecuteFunction<T>()
, где T
очевидно, должен реализовать некоторые уведомления об изменении свойств.(В моем случае генерируется сложный тип, производный от ComplexObject
.)
Мне не нужны или не нужны какие-либо уведомления об изменениях, и я должен отправлять POCO по линии после этих вызовов sproc.
Есть ли способ получить POCO непосредственно из вызова EF sproc?Если нет, есть ли у кого-нибудь рекомендации по превращению моего результата sproc в POCO?
(Я немного поигрался с POCO-шаблон, но, похоже, он никак не поддерживает хранимые процедуры.)
Решение
ExecuteFunction<T>
возвращает ObjectResult<T>
, который реализует IEnumerable<T>
, чтобы вы могли проецировать T
на что угодно через LINQ.Например.:
IEnumerable<MyPoco> = from f in Context.MyFunction()
select new MyPoco
{
A = f.A,
B = f.B
};