我可以从EF4的功能导入中获得POCO吗?

时间:2010-02-23 23:25:28

标签: entity-framework stored-procedures poco entity-framework-4 efpocoadapter

在Entity Framework 4的上下文中,添加函数导入时的默认行为是通过ExecuteFunction<T>()调用它,其中T必须显然实现一些属性更改通知内容。 (在我的例子中,它生成了一个派生自ComplexObject的复杂类型。)

我不需要或不需要任何更改通知,我需要在这些sproc调用之后发送POCO。

有没有办法直接从EF sproc电话中获取POCO?如果没有,是否有人建议将我的sproc结果变成POCO?

(我已经使用POCO Template进行了简短的介绍,但它似乎不支持任何存储过程。)

1 个答案:

答案 0 :(得分:2)

ExecuteFunction<T>会返回ObjectResult<T>,它会实现IEnumerable<T>,因此您可以通过LINQ将T投影到任何内容上。 E.g:

IEnumerable<MyPoco> = from f in Context.MyFunction()
                      select new MyPoco
                      {
                          A = f.A,
                          B = f.B
                      };