내가 사용하려고 해요 :Linq를하려면 SQL 법인 운영
// this is a BreakHistory class from the ADO.NET Data Entity Model _entities
_entities.AddToBreakHistory(this);
_entities.SaveChanges();
를 내가지고있어 "엔티티 객체가 IEntityChangeTracker의 여러 인스턴스에서 참조 할 수 없습니다."
_entities.ApplyPropertyChanges(this.EntityKey.EntitySetName, this);
_entities.SaveChanges();
을하고 난 아마 오류의 동일한 유형을 얻을 것이다 생각하고 있어요 : 오류
내 업데이트 코드라고 생각 해요.
originalBreakHistory 객체를 이와 같이 가져와야합니까?
var originalBreakHistory = (from bh in _entities.BreakHistorySet where bh.BreakHistoryID = id select bh).FirstOrDefault();
는 - 내가 관련이있을 수있는 다른 문제가 될 수 있음을 보인다 오후 4시 40분 같은 날 에 업데이트되었습니다. 관련이있어서 현재이 BreakHistory 엔티티에 Manager 엔티티 객체를 추가하려고합니다.이 오류가 발생합니다 : "다른 ObjectContext 객체에 첨부되어 있기 때문에 두 객체 간의 관계를 정의 할 수 없습니다."
동일한 엔터티 모델을 사용하고 있지만 엔터티 개체에 "new"를 호출하고 DB에서로드하기 때문에 그 오류가 발생할 수 있습니까 ??
여기 내 코드의 일부입니다 :
protected void lstBreaks_ItemCommand(object source, RepeaterCommandEventArgs e)
{
var bh = new BreakHistory().CurrentBreakRequest(int.Parse(e.CommandArgument.ToString())).CurrentManagerIs(GetManagerEntityByUserName());
switch (e.CommandName)
{
case "Approve":
bh.Approve();
break;
case "Deny":
bh.Deny();
break;
case "Push":
bh.Push();
break;
}
bh.Save();
LoadBreakList();
}
에 대한 예제의 코드 승인 - bh.Approve()를 다음과 같습니다
public BreakHistory Approve()
{
this.DateApproved = DateTime.Now;
this.ManagerApprove = CurrentManager;
return this;
}
관리자가 승인 거부 또는 푸시 할 수 있습니다 요청은 관리자 ID를 통해 BreakHistory와 관련되어 있습니다.
저는 Linq와 전체 엔터티 모델 구조를 배우고 있습니다. 당신 말이 맞아요, 전 완전히 분리 된 두 개의 DataContext를 사용하고있었습니다. – kntcnrg