Почему мы должны прикрепить сущность самоотслеживания к контексту перед удалением? - PullRequest
0 голосов
/ 12 августа 2010

У меня есть служба, которая добавляет, обновляет и удаляет сущность пациента.Я сделал так, чтобы терпеливая сущность была сущностью самоотслеживания.

Но только для удаления мне нужно вызвать «Прикрепить» сущность перед удалением, почему бы не присоединить обязательное для добавления и обновления.

В чем логиказа присоединением только для удаления (у меня есть свойство каскадирования = true)

 public List<Patient> AddPatient(Patient pat)
    {


        DataBaseContext.Patients.AddObject(pat);           
        DataBaseContext.SaveChanges();
        return DataBaseContext.Patients.Include("PatientContacts").ToList();

    }

    public List<Patient> DeletePatient(Patient pat)
    {

       //Why only for delete we need to attach ??????????

        DataBaseContext.Patients.Attach(pat);
        DataBaseContext.Patients.DeleteObject(pat);
        DataBaseContext.SaveChanges();
        return DataBaseContext.Patients.Include("PatientContacts").ToList();
    }

    public List<Patient> UpdatePatient(Patient pat)
    {

         DataBaseContext.Patients.ApplyChanges(pat);
         DataBaseContext.SaveChanges();
         return DataBaseContext.Patients.Include("PatientContacts").ToList();
    }

1 Ответ

1 голос
/ 12 августа 2010

Вы должны отправить пациента GUID в метод, а затем получить пациента из БД и затем удалить

public List<Patient> DeletePatient(string patientGUID)
{

   var patient = DataBaseContent.Patients.SingleOrDefault(p => p.patientGUID == patientGUID);

    DataBaseContext.Patients.DeleteObject(patient);
    DataBaseContext.SaveChanges();
    return DataBaseContext.Patients.Include("PatientContacts").ToList();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...