次の C# Entity Framework コードの最初のエンティティが定義されています。
class Program
{
static void Main(string[] args)
{
var context = new MyContext();
var person = new Person
{
FirstName = "Nadege",
LastName = "Deroussen",
BirthDate = DateTime.Now,
AccessCode = new AccessCode { Code = "ABC" }
};
context.Persons.Add(person);
var accessCode = new AccessCode { Code = "MGH" };
context.AccessCodes.Add(accessCode);
context.SaveChanges();
var person = context.Persons.Where(e => e.Id == 1).Single();
person.AccessCodeId = 2;
context.SaveChanges();
Console.Write("Person saved !");
Console.ReadLine();
}
}
public class Person
{
public int Id { get; set; }
public string LastName { get; set; }
public string FirstName { get; set; }
public DateTime BirthDate { get; set; }
public int AccessCodeId { get; set; }
[ForeignKey("AccessCodeId")]
public virtual AccessCode AccessCode { get; set; }
}
public class AccessCode
{
public int Id { get; set; }
public string Code { get; set; }
}
public class MyContext : DbContext
{
public DbSet<Person> Persons { get; set; }
public DbSet<AccessCode> AccessCodes { get; set; }
}
Main
メソッドでは、 を割り当てた後、その人で参照AccessCodeId = 2
を確認すると、まだwith をAccessCode
指しています。この自動更新を取得するにはどうすればよいですか?AccessCode
Id == 1
私はEFを学んでいるので、これが意味をなさない場合はご容赦ください。