我可以将值发布到SQL表中的某些字段,而将其他字段保留为空吗?

时间:2019-05-08 19:44:36

标签: c# asp.net-mvc entity-framework-6

我正在使用C#和SQL Server / EF6构建ASP.NET MVC5应用程序。

我有一个包含50列的表格。在应用程序的第一步中,我只需要将12列的值发布到此表中。其余的列将沿应用程序流并根据用户选择保持为空或填充(通过EF6中的更新查询)。

如何在EF6中实现发布请求而不抛出System.ArgumentNullException异常:值不能为空?

    public S_REQUEST Save_S_Without_All_Data(SViewModel vm)
    {
        var s_request = new S_REQUEST
        {
            //mapping model properties with viewmodel properties
        };

        return s_request;
    }

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult PostAction(SViewModel vm)
    {

                switch (selectedStep){
                //other cases
                case "2": 
                try {
                    if (ModelState.IsValid)
                    {
                        var s_request = Save_S_Without_All_Data(vm);
                        db.S_REQUEST.Add(s_request);

                        //add DELEGATED_EMPLOYEE_ID
                        var s_request_extra_data = new S_REQUEST
                        {
                            DELEGATED_EMPLOYEE_ID = vm.DelegatedTeamMemberId
                        };
                        db.S_REQUEST.Add(s_request_extra_data);

                        db.SaveChanges();


                        return View("Success");
                    }
                    return View(vm);
                }
                catch
                {
                    ModelState.AddModelError("SaveError", "Unable to save changes.");
                }
                break; 
                //other cases
     }

0 个答案:

没有答案