API 中的调用函数检索加载资源失败:服务器响应状态为 500 ()

Calling function in API retrieves Failed to load resource: the server responded with a status of 500 ()

我正在使用 mvc 框架中的存储过程编写代码。我有一个 WorkOverDate 字段来选择一个日期并将其保存在单位 table 中。保存后,我想将该日期添加到另一个名为 WorkOver 的 table 中。 当我尝试使用更新单元中信息的 api 中的存储过程调用该函数时,问题就来了,我得到了这个: 加载资源失败:服务器响应状态为 500() 我不确定在这里做什么。我在页面中修改的所有内容都正确保存,但存储过程不起作用。非常感谢任何建议。

我有一个包含以下代码的 UnitRepository 文件:

public void UpdateWorkOver()
        {

            using (var cmd = _db.Database.GetDbConnection().CreateCommand())
            {

                cmd.CommandText = "dbo.WorkOverAddDate";
                cmd.CommandType = System.Data.CommandType.StoredProcedure;


                bool isOpen = cmd.Connection.State == ConnectionState.Open;
                if (!isOpen)
                {
                    cmd.Connection.Open();
                }

                cmd.ExecuteNonQuery();


                if (!isOpen)
                {
                    cmd.Connection.Close();
                }
            }

        }

这个的存储过程是:

CREATE PROCEDURE [dbo].[WorkOverAddDate]

AS

INSERT INTO dbo.WorkOver 
           (UnitID, WODate, CreatedBy, Created) 

SELECT UnitID, WODate, CreatedBy, Created

FROM dbo.WorkOver

UNION

SELECT  ID, WorkOverDate, UpdatedBy, Updated

FROM dbo.Unit

另外,我有一个 API 保存页面时我用存储过程调用函数的地方。

//编辑

                    unit.Updated = DateTime.Now;
                    unit.UpdatedBy = _securityHelper.CurrentUserID.ToString();
                    _auditHelper.After = unit;

                    _repoUnit.Edit(unit);
                    if (unit.WorkOverDate != null)
                    { ((UnitRepository)_repoUnit).UpdateWorkOver(); }

问题是我必须在存储过程中添加:

Where WorkOverDate IS NOT NULL 

作为空参数不能添加到不可空的列。现在它正在工作。