를 삭제할 때 내가 정확히 어떤 문제가 있는지 알 수없는 예외가 또는 내가 예외없이 정확하게 개체를 삭제해야 할 것입니다 그래서 이것은 내가 가진 문제가 기능 :내가 엔티티 프레임 워크 객체
protected void RemoveAddDrugSurg()
{
Surgery sur;
DrugsList drug;
Surgery surObject;
DrugsList drugObject;
try
{
if (Session["OldSurgs"] != null)
{
var SurgList = Session["OldSurgs"] as List<Surgery>;
if (SurgList.Count > 0)
{
foreach (ListItem li in chlSurg.Items)
{
surObject = null;
Int64 index = Convert.ToInt64(li.Value);
surObject = SurgList.Find(s => s.SurgeryID == index);
if (surObject == null && li.Selected)
{
sur = new Surgery();
sur.VisitID = Convert.ToInt64(Session["VID"]);
sur.SurgeryID = Convert.ToInt32(li.Value);
Diabetes.AddToSurgeries(sur);
}
else if (surObject != null && !li.Selected)
{
Diabetes.CreateObjectSet<Surgery>().Attach(surObject);
Diabetes.ObjectStateManager.ChangeObjectState(surObject, EntityState.Deleted);
}
}
Diabetes.SaveChanges();
}
}
if (Session["OldDrugs"] != null)
{
var DrugList = Session["OldDrugs"] as List<DrugsList>;
if (DrugList.Count > 0)
{
foreach (ListItem li in chlDrugs.Items)
{
drugObject = null;
Int64 index = Convert.ToInt64(li.Value);
drugObject = DrugList.Find(d => d.DrugID == index);
if (drugObject == null && li.Selected)
{
drug = new DrugsList();
drug.VisitID = Convert.ToInt64(Session["VID"]);
drug.DrugID = Convert.ToInt32(li.Value);
Diabetes.AddToDrugsLists(drug);
}
else if (drugObject != null && !li.Selected)
{
Diabetes.CreateObjectSet<DrugsList>().Attach(drugObject);
Diabetes.ObjectStateManager.ChangeObjectState(drugObject, EntityState.Deleted);
}
}
Diabetes.SaveChanges();
}
}
}
catch (Exception ex)
{
throw;
}
}
이고 예외는 다음과 같습니다.
IEntityChangeTracker의 여러 인스턴스에서 엔터티 개체를 참조 할 수 없습니다.
미리 감사드립니다.
app.config를 확인 했습니까? – test
무엇을 위해? 나는 다른 방법을 사용하여 다른 물체를 삭제했지만 잘 작동했지만 지금은 무엇을 해야할지 모르겠다. !!!! –
그리고 어떤 줄에 예외가 발생합니까? 해당 .Attach() 줄에 다음 surObject 캐시 된 여전히/이미 추적 된 –