将scope_identity从linq中的存储过程返回到sql

时间:2010-09-29 02:35:19

标签: c# linq-to-sql

我有一个存储过程正在返回scopeidentity。我将表和存储过程删除到dbml。函数的返回类型是

return ((ISingleResult<storedocumentResult>)(result.ReturnValue));

在C#代码中,我使用datacontext通过存储过程将新条目插入表中。我需要将scopeidentity返回给调用方法,但我不知道如何访问它。

ISingleResult<storedocumentResult> result = dbc.storedocument(doc.DocumentName, doc.FileExtension);

1 个答案:

答案 0 :(得分:1)

它将位于result.ReturnValueobject)或result.Single().Foo,其中Foo是(生成的)storedocumentResult上的某些属性

如果是前者,请注意SCOPE_IDENTITY()numeric(38,0),因此您可能需要int id = (int)(decimal)result.ReturnValue;才能正确进行演员和转换。