【问题标题】:Can I get a POCO from EF4's function import?我可以从 EF4 的函数导入中获取 POCO 吗?
【发布时间】:2010-02-23 23:25:28
【问题描述】:

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

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

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

(我用过POCO Template,但它似乎不支持存储过程。)

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 与我正在考虑的替代方案相比,这真是太棒了 - 谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多