Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.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# MVC ASP-停止将字段修改为空的编辑函数_C#_Sql_Asp.net_Database_Model View Controller - Fatal编程技术网

C# MVC ASP-停止将字段修改为空的编辑函数

C# MVC ASP-停止将字段修改为空的编辑函数,c#,sql,asp.net,database,model-view-controller,C#,Sql,Asp.net,Database,Model View Controller,因此,我尝试只更新MVC应用程序中的特定数据。每当我只编辑一个列表视图时,我都会编辑数据(这是有效的),但数据库表的其余部分将为空 比如说- 列表视图中的字段 EmployeeID、FirsName、LastName、电子邮件、主持人、管理员 不在列表视图中的字段 罗吉尼 因此,在我的编辑页面中,我为员工ID、名字、姓氏和电子邮件等信息设置了只读,并为版主和管理员设置了两个复选框,这是我要编辑的唯一值 它们工作正常,但执行此操作时,LoginID数据库中的数据仅变为空 下面是我的编辑GET和P

因此,我尝试只更新MVC应用程序中的特定数据。每当我只编辑一个列表视图时,我都会编辑数据(这是有效的),但数据库表的其余部分将为空

比如说-

列表视图中的字段

EmployeeID、FirsName、LastName、电子邮件、主持人、管理员

不在列表视图中的字段

罗吉尼


因此,在我的编辑页面中,我为员工ID名字姓氏电子邮件等信息设置了只读,并为版主管理员设置了两个复选框,这是我要编辑的唯一值

它们工作正常,但执行此操作时,LoginID数据库中的数据仅变为空

下面是我的编辑GETPOST方法的代码

得到

职位

那么,如果数据库中没有任何用于LoginID的文本框,甚至在编辑页面上,我如何停止在字段LoginID中执行此操作呢

将状态更改为“已修改时,实体的所有属性 将标记为已修改,所有属性值将发送到 保存更改时的数据库被调用

因此,此
条目
方法将更新所有属性。根据我的建议,要仅更新某些实体的列,您必须手动查询记录并仅更新所需的属性

Edit
(POST)方法中,将
Entry()
方式更改为:

EmpContext ec = new EmpContext();
Employee _employee = ec.Employees.Single(x => x.Id == employee.Id);

// TO-DO Update required properties only
_employee.FirstName = employee.FirstName;
ec.SaveChanges();
public ActionResult Edit(Employee employee)
        {

            if (ModelState.IsValid)
            {
                EmpContext ec = new EmpContext();
                ec.Entry(employee).State = EntityState.Modified;
                ec.SaveChanges();
                return RedirectToAction("List");
            }
            

            return View(employee);

        }
EmpContext ec = new EmpContext();
Employee _employee = ec.Employees.Single(x => x.Id == employee.Id);

// TO-DO Update required properties only
_employee.FirstName = employee.FirstName;
ec.SaveChanges();