3つのテーブルからAmountの合計を取得するために使用する、このストーリングされた手順があります。
問題は、Linq to Sqlを使用していて、このプロシージャを.dbmlファイルに配置すると、ISingleResult(GetSurplusDataForConsolidationReportResult)があり、必要な合計を取得できないことです。
空のReceivablesSurplusリストを受け取っています。
何か案は?
ALTER PROCEDURE [dbo].[GetSurplusDataForConsolidationReport]
@ID INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT SUM(RB.[Amount])
FROM [DBO].[ReceivablesSurplus] RB
WHERE RB.[Cycle] = @ID
SELECT SUM(DL.[Amount])
FROM [DBO].[DilutionsSurplus] DL
WHERE DL.[Cycle] = @ID
SELECT SUM(AC.[Amount])
FROM [DBO].[AccountablesSurplus] AC
WHERE AC.[Cycle] = @ID
END
これは私の.dbmlコードです
[global::System.Data.Linq.Mapping.FunctionAttribute(Name="dbo.GetSurplusDataForConsolidationReport")]
public ISingleResult<GetSurplusDataForConsolidationReportResult> GetSurplusDataForConsolidationReport([global::System.Data.Linq.Mapping.ParameterAttribute(Name="ID", DbType="Int")] System.Nullable<int> iD)
{
IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), iD);
return ((ISingleResult<GetSurplusDataForConsolidationReportResult>)(result.ReturnValue));
}