¿Cómo actualizar un campo de registros específicos utilizando Entity Framework?
Quiero actualizar la familia de una persona que su nombre es pejman. Esta es mi clase de objeto:
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set;}
public DateTime BirthDate { get; set; }
public bool IsMale { get; set; }
public byte[] Image { get; set; }
public byte[] RowVersion { get; set; }
public virtual Person Parent { get; set; }
public virtual ICollection<PhoneNumber> PhoneNumber { get; set; }
public virtual ICollection<Address> Addresses { get; set; }
public virtual PersonInfo PersonInfo { get; set; }
}
y mi método de actualización es: (en Program.cs)
public static void Update(string name, string family)
{
var _person = new Person() { FirstName = name, LastName = family };
using (var newContext = new MyDbContext())
{
newContext.Persons.Attach(_person);
newContext.Entry(_person).Property(X => X.LastName).IsModified = true;
newContext.SaveChanges();
}
}
¡Pero no funciona! ¿Cuál es el problema?
EDITAR: asuma que no conozco la identificación de la persona, y solo sé el nombre de la persona, ¿hay alguna manera de actualizar a la familia de la persona?