繁体   English   中英

LINQ:调用存储过程并将其结果与IQueryable合并

[英]LINQ: Call Stored Procedure and Join its results with IQueryable

我有:

  • 一个存储过程,该过程检索另一个邮政编码周围半径范围内的邮政编码

  • 带联系人的表

我正在通过IQueryable接口获取联系人,该接口已使用各种扩展方法进行扩展,以按年龄等过滤结果。

我遇到的麻烦是添加了一个IQueryable扩展方法,该方法调用上述存储过程(半径中的邮政编码),然后将这些邮政编码与我的IQueryable联系人列表结合在一起。

任何想法如何做到这一点?

为此,您需要将sp换成udf。 通过简单地将(现有)sp转发到(新)udf,通常可以在影响任何现有代码(调用SP)的情况下进行操作,即

CREATE PROC foo @blah int
AS
BEGIN
    SELECT * FROM dbo.foo_udf(@blah)
END

LINQ-to-SQL支持针对udfs的组合性,但不支持SPs,因此您应该能够在查询中(通过yourContext.UdfName(...) )加入UDF。

暂无
暂无

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

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