Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# “如何使用”;选择";实体框架中存储过程的结果_C#_Entity Framework_Stored Procedures - Fatal编程技术网

C# “如何使用”;选择";实体框架中存储过程的结果

C# “如何使用”;选择";实体框架中存储过程的结果,c#,entity-framework,stored-procedures,C#,Entity Framework,Stored Procedures,我有一个存储过程,如下所示: ALTER PROCEDURE [dbo].[Save_Customer](@PK int , @Name nvarchar(30) , @Address nvarchar(100) , @CustomerGrp_FK int) AS SET NOCOUNT ON; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; BEGIN TRAN BEGIN TRY IF (@PK = -1) BEGIN

我有一个存储过程,如下所示:

ALTER PROCEDURE [dbo].[Save_Customer](@PK int , @Name nvarchar(30) , @Address nvarchar(100) , @CustomerGrp_FK int)
AS 
SET NOCOUNT ON;
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
BEGIN TRAN
BEGIN TRY
    IF (@PK = -1)   
    BEGIN
        INSERT INTO dbo.[Customer]
        SELECT @Name  , @Address  , @CustomerGrp_FK 

        SELECT SCOPE_IDENTITY () as IdentityPK
    END
    ELSE
    BEGIN
        UPDATE Customer
        SET Name  = @Name ,Address  = @Address ,CustomerGrp_FK  = @CustomerGrp_FK
        WHERE PK= @PK
    END
要使用
选择SCOPE_IDENTITY()作为IdentityPK
,我创建了以下类:

public class Save_Customer_MyResult
{
    public int Identity { get; set; }
}
然后在EntityContext类中插入以下代码:

public DbSet<Save_Customer_MyResult> Save_CustomerDB { get; set; }

public virtual  Save_Customer_MyResult Save_Customer1(Nullable<int> pK, string name, string address, Nullable<int> customerGrp_FK)
    {
        return this.Database.SqlQuery<Save_Customer_MyResult>("Save_Customer @PK, @Name, @Address, @CustomerGrp_FK", new System.Data.SqlClient.SqlParameter("PK", pK)
            , new System.Data.SqlClient.SqlParameter("Name", name)
            , new System.Data.SqlClient.SqlParameter("Address", address)
            , new System.Data.SqlClient.SqlParameter("CustomerGrp_FK", customerGrp_FK)).First<Save_Customer_MyResult>();
    }
1-根据。我刚做了一个新的
复杂类型

2-
实体的存储过程映射

3-然后:

IEnumerable<Customer.Save_Customer_Result > s= customercontext.Save_Customer(-1, txt_Name.Text, txt_Address.Text,Int32 .Parse( cmb_GroupName.SelectedValue.ToString()));
       MessageBox.Show(s.First<Customer.Save_Customer_Result>().IdentityPK   .ToString());
IEnumerable s=customercontext.Save_Customer(-1,txt_Name.Text,txt_Address.Text,Int32.Parse(cmb_GroupName.SelectedValue.ToString());
Show(s.First().IdentityPK.ToString());
IEnumerable<Customer.Save_Customer_Result > s= customercontext.Save_Customer(-1, txt_Name.Text, txt_Address.Text,Int32 .Parse( cmb_GroupName.SelectedValue.ToString()));
       MessageBox.Show(s.First<Customer.Save_Customer_Result>().IdentityPK   .ToString());