实体框架-数据读取器与指定的复杂类型不兼容

时间:2019-06-27 18:24:39

标签: c# sql-server entity-framework

我正在使用Winforms应用程序,并尝试更新我的员工详细信息表单,该表单将调用存储过程来更新employee表。.我正在以数据库优先的方式使用Entity Framework。

提交表单时,后端表中的数据已更新,但是我的应用程序抛出以下错误。

  

数据读取器与指定的“ dbModel.stored_procedure_Result”不兼容。类型“ ErrorNumber”的成员在数据读取器中没有具有相同名称的对应列。

代码:

public partial class stored_procedure_Result
{
    public Nullable<int> ErrorNumber { get; set; }
    public Nullable<int> ErrorSeverity { get; set; }
}

ALTER PROCEDURE sp_UpdateEmp
    @EmpId INT,
    @City VARCHAR(50),
    @Age INT
AS
BEGIN
    BEGIN TRY
    BEGIN TRANSACTION EMPUPDATE;
        Update tblEmployee
        set City = @City
        where EmployeeId = @EmpId
        EXEC storedProdAgeCalc @EmpId,@Age
        COMMIT TRANSACTION EMPUPDATE;
    END TRY
    BEGIN CATCH
        ROLLBACK TRANSACTION EMPUPDATE;

        SELECT 
            ERROR_NUMBER() AS ErrorNumber,
            ERROR_SEVERITY() AS ErrorSeverity
    END CATCH;
 END

用于调用存储过程的C#代码:

 EMPDB.sp_UpdateEmp(123, 'TEST', 25);

我想知道为什么我的局部类具有ErrorNumber,ErrorSeverity字段,据我了解,它应该具有EmpID,City,Age。

我尝试从edmx中删除存储过程,然后再次添加,但是没有运气。

对此有任何帮助吗?

0 个答案:

没有答案