如何使用LINQ中的InsertOnSubmit获取存储过程返回的返回值

时间:2009-06-15 11:46:56

标签: linq linq-to-sql

我可以使用LINQ中的InsertOnSubmit获取存储过程返回的返回值。

存储过程返回错误编号。如何获取此错误号InsertOnSubmit(使用存储过程而不是Runtime sql)。非常感谢

2 个答案:

答案 0 :(得分:0)

在数据上下文中有许多用于插入/更新/删除每个实体类型的部分方法;如果你实现了另一半,你可以提供自己的SP逻辑:

partial class MyDataContext {
    partial coid UpdateMyEntity(MyEntity instance) {
        // your ADO.NET code and/or ExecuteCommand here...
    }
}

请注意,如果您使用单独的连接,则不会使用相同的事务等(除非它使用TransactionScope)。

答案 1 :(得分:0)

我重载了LINQ设计器生成的默认函数,并按照以下步骤操作。

  1. 创建了一个公共只读属性_ReturnCode
  2. 在重载函数中我使用_ReturnCode = CType(result.ReturnValue,Integer)
  3. Public Function FUNC_NAME(ByRef ..... 昏暗的结果作为IExecuteResult = Me.ExecuteMethodCall(我,CType(MethodInfo.GetCurrentMethod,MethodInfo),......)

    ID = CType(result.GetParameterValue(0),System.Nullable(Of System.Guid))

    _ReturnCode = CType(result.ReturnValue,Integer) 返回CType(result.ReturnValue,Integer)

    结束功能

    如果有人有更好的答案,请告诉我。非常感谢