繁体   English   中英

EF 4存储过程与LINQ混合

[英]EF 4 Stored Procedure Mixed In With LINQ

我有一个proc,它返回两个字段作为由EF框架生成的自定义类(自定义结果的映射类)。 我可以将proc结果与ADO.NET EF LINQ查询一起加入吗? 我收到错误提示不可以,但是我不确定。

谢谢。

否,不可能将结果集从Linq中的存储过程连接到实体查询。 直接在SQL中也很难-我可以想象在TSQL中使用OpenQuery的一些方法,但这是一个糟糕的解决方案。

如果您确实需要使用某些Linq将存储过程的结果连接到实体查询,则应执行存储过程并分别进行查询,然后使用Linq将它们连接到对象。 但是请注意,此解决方案会将两个操作的完整结果集传输到您的应用程序服务器,并且连接将由.NET在内存中执行。

另一个解决方案是将存储过程重写为UDF(TSQL中的用户定义函数)。 在这种情况下,您将不能使用函数结果到实体的映射,但是可以将函数的结果与EQL中的其他查询结合在一起。

在这种情况下,最好的解决方案可能是执行必要的联接操作的新存储过程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM