将linq语句转换为sql

时间:2013-08-13 02:32:05

标签: sql vb.net linq tsql

我正在将项目从linq编码弃用回sql存储过程。 (我的公司拒绝升级我们的sql 2000数据库。)我被困在这个当前代码试图将其转换为sql。任何人都可以帮忙吗?

Dim ICD9Codes = (
From a In Linq2Db.ICD9Codes
Where IIf(String.IsNullOrEmpty(Variable1), 1 = 1, a.Code.StartsWith(Variable1))
Select a).ToList

我被困在了IIF'将其转换为' where'如果值不为null,则子句仅使用if语句。

1 个答案:

答案 0 :(得分:3)

要将其转换为SP,您需要将Variable1作为参数。可以在IIf子句中解决WHERE部分,如下所示:

CREATE PROCEDURE [procedure_name] @variable1 varchar(50)
AS
BEGIN
    SELECT *
    FROM ID9Codes
    WHERE LEN(LTRIM(RTRIM(ISNULL(@variable1, '')))) = 0
        OR Code lIKE @Variable1 + '%'
END