2

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

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

有没有办法直接从 EF sproc 调用中获取 POCO?如果没有,是否有人对将我的 sproc 结果转换为 POCO 有任何建议?

(我已经简单地使用过POCO Template,但它似乎不以任何方式支持存储过程。)

4

1 回答 1

2

ExecuteFunction<T>返回一个ObjectResult<T>,它实现IEnumerable<T>,因此您可以T通过 LINQ 将 投影到任何东西上。例如:

IEnumerable<MyPoco> = from f in Context.MyFunction()
                      select new MyPoco
                      {
                          A = f.A,
                          B = f.B
                      };
于 2010-02-24T03:31:22.577 回答