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