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?