Linq2Sql Constructor Launches Storage Multiple Results Set as Single

In the linq2sql class, I call a stored procedure that returns multiple result sets, and it works.

Whenever I add a new procedure to the linq2sql constructor, and this stealth converts the above stored procedure from IMultipleResults to ISingleResult in designer.cs.

I replaced the code with the previous version and it works, but why is this happening?

How can I prevent a developer from changing code that works?

Every time I add a new sp, I have to undo what the designer does.

it

[Function(Name="dbo.GetCustomerOrderDetails")]
[ResultType(typeof(GetCustomerOrderSummaryResult))]
[ResultType(typeof(GetOrderLineDetailsResult))]

public IMultipleResults GetCustomerOrderDetails([Parameter(DbType="UniqueIdentifier")] System.Nullable<System.Guid> custGuid, [Parameter(DbType="VarChar(75)")] string email, [Parameter(DbType="Int")] System.Nullable<int> orderId)
{
    IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), custGuid, email, orderId);
       return (IMultipleResults)result.ReturnValue;
}

gets this linq2sql constructor

[Function(Name="dbo.GetOrderLineDetails")]
public ISingleResult<GetOrderLineDetailsResult> GetOrderLineDetails([Parameter(DbType="Int")] System.Nullable<int> orderId)
{
    IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), orderId);
    return ((ISingleResult<GetOrderLineDetailsResult>)(result.ReturnValue));
}

which I ultimately canceled manually.

+3
2

DataContext, OR , . , , , OR , GetOrderLineDetailsResult . sp OR designer. OR .

+4

, . . LinqToSql . , ( )

+1

Source: https://habr.com/ru/post/1734955/


All Articles