Witam, chciałbym poznać waszą opinie dotyczącą kodu, który najpierw wstawia wartości do jednej tabeli (Patient) a następnie pobierając wartość id wstawionego rekordu do bazy uzupełnia kolejną tabele (PatientsParameters). Czy taki kod jest dopuszczalny, użycie podwójnego bd.SaveChanges()??

 
  public static void CreatePatientAccount(string username,string password,string email)
  { 
         try
            {
                using (var db = new DbEntities())
                {
                    var result = db.Patient.Create();
                    result.username = username;
                    result.email = email;
                    db.Patient.Add(result);
                    db.SaveChanges();

                    var patientsParameters = db.PatientsParameters.Create();
                    patientsParameters.Password = password;
                    patientsParameters.CreateDate = DateTime.Now.Date;
                    patientsParameters.PatientID = GetPatientId(result.username);
                    //db.Patient.Add(result);
                    db.PatientsParameters.Add(patientsParameters);
                    db.SaveChanges();

                }
            }
            catch (Exception ex)
            {

            }
}
 public static int GetPatientId(string username)
        {
            using (var db = new DbEntities())
            {
                var result = db.Patient.FirstOrDefault(us => us.username == username.Trim());
                if (result != null)
                {
                    return result.PatientID;
                }
            }
            return -1;
        }