2016-04-03 16 views
1

Entity Framework 5 veritabanı ilk yaklaşımını kullanıyorum. Şimdi tabloya veri ekliyorum ve tekrar IDENTITY'u iade ediyorum.Kimlik Çerçevesinde saklı yordamı kullanarak kimlik nasıl alınır?

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 

Sorum ön uç bu IDENTITY nasıl olduğunu. Çıkış parametresini kullanmamı ister YA DA bu integer tip değişkeni için farklı bir yöntem var.

İşte çağrı deyimi.

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)); 

Ve bu yöntem tanımıdır

..

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: Ben EF yeniyim.

+0

Zaten IDENTITY öğesini seçtiniz, böylece EF prosedürün dönüş türünü tamsayı olarak algılayacaktır. –

+0

Depolama prosedürlerini EF Modeline eşleştirdiniz mi? – Thomas

+0

@BassemAKl, bir sütunu döndürdüğü için EF, Karmaşık türüne dönüştürdü. Ben şimdi ne yapmalıyım? –

cevap

İlgili konular