|
|
1
1
不,无法将LINQ中存储过程的结果集联接到实体查询。直接在SQL中也是非常困难的——我可以想象在TSQL中使用OpenQuery的一些方法,但这是一个糟糕的解决方案。 如果您确实需要将存储过程的结果与一些Linq to Entities查询连接起来,那么应该分别执行存储过程和查询,并使用Linq to对象将它们连接起来。但请注意,此解决方案将把两个操作的完整结果集传输到应用程序服务器,并且join将由.NET在内存中执行。 另一种解决方案是将存储过程重写为UDF(TSQL中的用户定义函数)。在这种情况下,您将无法使用函数结果到实体的映射,但您将能够将函数的结果与eql中的其他查询连接起来。 在这种情况下,最好的解决方案可能是执行必要的联接操作的新存储过程。 |