我有一项服务,可以添加,更新和删除患者实体。 我让患者实体成为了自我实体。
但仅限于删除我需要在删除之前调用'附加'实体,为什么不添加和更新所需的附件。
仅为删除附加的逻辑是什么(我有cascading property = 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();
}
答案 0 :(得分:1)
您应该将patientGUID发送到该方法,然后从数据库中获取患者,然后进行删除
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();
}