Como atualizar um campo de registros específicos usando o Entity Framework?
Quero atualizar a família de uma pessoa cujo nome é pejman. Este é o meu objeto Classe:
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; }
}
e meu método de atualização é: (em 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();
}
}
mas não funciona! qual é o problema?
EDIT: suponha que eu não sei o ID da pessoa, e apenas o nome da pessoa, existe alguma maneira de atualizar a família da pessoa?