Jak zaktualizować jedno pole określonych rekordów za pomocą Entity Framework?

Chcę zaktualizować rodzinę osoby, która nazywa się pejman. To jest moja klasa obiektu:

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; }
}

a moją metodą aktualizacji jest: (w 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();
    }
}

ale to nie działa! Jaki jest problem?

EDYTUJ: załóżmy, że nie znam Id osoby, a ja po prostu znam imię osoby, czy jest jakiś sposób na aktualizację rodziny osoby?

questionAnswers(6)

yourAnswerToTheQuestion