如果我在存储过程中使用exec
语句,并且当我尝试使用linq获取带有该存储过程的数据时,我遇到了麻烦。
如果我使用exec命令,那么它将不会显示list()
,如下所示
LS25DataContext mydb = new LS25DataContext();
list<customer> IResult = mydb.usp_search(int custid,int iprice).ToList();
使用linq时,我可以在存储过程中使用exec命令吗?
如果我使用下面的程序,那么我可以得到.ToList()方法。
CREATE PROCEDURE usp_test_vats_2 1148, 8
@i INT,
@j int
AS
BEGIN
SELECT
*
FROM
customers
where
icustid = @i AND iPriceStr = @j
END
但如果我使用以下程序,那么我无法获得.ToList()
方法。
ALTER PROCEDURE usp_test_vats_2 1148, 8
@i INT,
@j int
AS
BEGIN
declare @sSQL VARCHAR(8000)
SET @sSQL = 'SELECT
*
FROM
customers
where
icustid = ' + CONVERT(VARCHAR, @i) + ' AND iPriceStr = ' + CONVERT(VARCHAR, @j) + ''
EXEC(@sSQL)
END
非常感谢...