¿Entity Framework guarda las clases relacionadas automáticamente?

Supongamos que tenemos tales clases

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

En el código creo nuevas instancias para ambos y estableciendo relaciones como:

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

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

¿Debería usar DBContext para guardar ambas clases así?

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

O guardándolo así:

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

¿Es suficiente para almacenar objetos relacionados en la base de datos?

Respuestas a la pregunta(3)

Su respuesta a la pregunta