Czy Entity Framework automatycznie zapisuje powiązane klasy?

Załóżmy, że mamy takie klasy

public class A{
    string someField { get; set; }
    public virtual B B {get; set; }
}

public class B {
   int someIntField {get; set; }

   [ForeignKey("Id")]
   [Required]
   public virtual A A { get; set; } 
}

W kodzie tworzę dla nich nowe instancje i nawiązuję relacje takie jak:

A a = new A () { someField = "abcd"};
B b = new B () { someIntField = 42 };

A.B = b;
B.A = a;

Czy powinienem użyć DBContext, aby zapisać obie klasy w ten sposób:

using (var db = new myDbContext()) {
    myDbContext.As.Add(A);
    myDbContext.Bs.Add(B);
    myDBContext.SaveChanges();
}

Lub zapisując to w ten sposób:

using (var db = new myDbContext()) {
    myDbContext.As.Add(A);
    myDbContext.SaveChanges();
}

wystarczy przechowywać powiązane obiekty w bazie danych?

questionAnswers(3)

yourAnswerToTheQuestion