使用Linq到SQL从存储过程返回空值

时间:2010-01-25 22:42:00

标签: sql-server linq-to-sql stored-procedures sql-server-2000 null

如果我在我的数据库(SQL 2000)中运行存储过程并返回SCOPE_IDENTITY,则会收到一个值。但是,使用LINQ to SQL,我得到Column1属性的null值。有人有建议吗?

1 个答案:

答案 0 :(得分:0)

确保SP末尾只有一个SELECT语句。所以,像这样:

IF something
DO something
   SET variables
ELSE
   SET variables

SELECT variables

此外,在select语句中重命名列,并可能将其转换为正确的数据类型。像这样:

SELECT CAST(@variable AS DataType) AS [ColumnName];

我在一周前遇到过这个问题,因为我在SP中有2个SELECT语句,而且他们互相搞砸了。 SP总是做它应该做的事情,但它总是发回null。自从我转到我上面写的内容之后,它就像一个魅力。

希望这有助于你