2016-04-03 14 views
1

私はEntity Framework 5データベースの最初のアプローチを使用しています。今私はテーブルにデータを挿入して、再びIDENTITYを返しています。ストアドプロシージャを使用してEntity FrameworkでIDを取得する方法?

ALTER PROCEDURE [dbo].[spAdmissonSlip_Insert] 
(
    @paramStdClassID int, 
    @paramFeeMonth varchar(20), 
    @paramAdmissionFee int = null, 
    @paramTutionFee int, 
    @paramFeeSlip int = null, 
    @paramResultFile int = null, 
    @paramExamFee int = null, 
    @paramSciCompFee int = null, 
    @paramExtra int =null 
) 
AS 
BEGIN 
    insert into tblFee 
    values (@paramStdClassID, @paramFeeMonth, NULL, @paramAdmissionFee, 
      @paramTutionFee, @paramFeeSlip, @paramResultFile, 
      @paramExamFee, @paramSciCompFee, @paramExtra, 0); 

    select @@IDENTITY; 
END 

私の質問はこのフロントエンドでIDENTITYを取得する方法です。出力パラメータを使用する必要があるかどうか、あるいはこれを得るには別の方法がinteger変数にあります。

ここには呼び出しステートメントがあります。

int FeeID = Convert.ToInt32 (OE.spAdmissonSlip_Insert(obj.StdClassID, obj.FeeMonth, obj.AdmissionFee, obj.TutionFee, 
          obj.FeeSlip, obj.ResultFile, obj.ExamFee, obj.SciCompFee, obj.Extra)); 

そして、これは、メソッドの定義である

...

public ObjectResult<spAdmissonSlip_Insert_Result> spAdmissonSlip_Insert(Nullable<global::System.Int32> paramStdClassID, global::System.String paramFeeMonth, Nullable<global::System.Int32> paramAdmissionFee, Nullable<global::System.Int32> paramTutionFee, Nullable<global::System.Int32> paramFeeSlip, Nullable<global::System.Int32> paramResultFile, Nullable<global::System.Int32> paramExamFee, Nullable<global::System.Int32> paramSciCompFee, Nullable<global::System.Int32> paramExtra) 
{ 
    ... 
} 

PS:私はEFに新たなんです。

+0

すでにIDENTITYを選択しているため、EFはプロシージャの戻り値の型を整数として検出する必要があります。 –

+0

ストアドプロシージャをEFモデルにマップしましたか? – Thomas

+0

@BassemAKIそれは列を返すので、EFは複合型に変換しました。私は今どうすればいい? –

答えて

0

出力パラメータやその他の方法の使用に関するご質問は、私のアプリケーションでScope_Identity()を使用しても問題ありません。

変更のためのラインselect @@IDENTITY;

SELECT Scope_Identity() AS Id 

チェックアウトこのスレッドで答え:How to obtain the identity of an entity after calling SaveChanges() when the entity is mapped to stored procedures

は、あなたがこのapprochに問題がある場合、私に教えてください。

関連する問題