csharp 使用EF(附加方法).cs更新单个实体

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 使用EF(附加方法).cs更新单个实体相关的知识,希望对你有一定的参考价值。

    [HttpPost]
    public JsonResult DocumentNoUpdate(string DocNo, int DocNoID)
    {
        if (DocNoID >= 1)
        {
            int nDocNo = 0;

            nDocNo = Int32.Parse(DocNo);
            var oSEC_DocNumber = new SEC_DocNumber() { DocNoID = DocNoID, DocEndNo = nDocNo + 1 };
            dbContext.SEC_DocNumber.Attach(oSEC_DocNumber);
            dbContext.Entry(oSEC_DocNumber).Property(x => x.DocEndNo).IsModified = true;
            dbContext.SaveChanges();
        }
        return Json("OK");
    }
    
    
    public void DeleteStudent(Student student)
    {
        context.Students.Attach(student);
        context.Students.Remove(student);
        context.SaveChanges();
    }


    public void UpdateStudent(Student student)
    {
        Student studentToUpdate = context.Students.Attach(student);
        context.Entry(student).State = System.Data.EntityState.Modified;
        context.SaveChanges();
    }

		// UPDATE A SINGLE FIELD BY ATTACHING THE OBJECT (BEST WAY)
		public static void Update(int id, string name, string family)
		{
			var _person = new Person() { Id =id , FirstName = name, LastName = family };
			using (var newContext = new MyDbContext())
			{
				newContext.Persons.Attach(_person);
				newContext.Entry(_person).Property(X => X.LastName).IsModified = true;
				newContext.SaveChanges();
			}
		}

以上是关于csharp 使用EF(附加方法).cs更新单个实体的主要内容,如果未能解决你的问题,请参考以下文章

使用附加方法时 EF 6 OriginalValues 丢失

EF6:如何在 Select 中包含子属性,以便创建单个实例。避免“相同的主键”错误

使用 EF Core 保存附加实体时如何删除子实体

EF中的批量操作

在 EF Core DbContext 中,附加方法不起作用

EF报错 附加类型model失败