sheikh-k
11/3/2016 - 12:48 PM

Update Single Entity using EF (Attach method).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();
			}
		}