2012-09-28 3 views
0

엔티티 감정사를 만들었으며 값을 선택하고 데이터를 표시하는 등의 방법이 있습니다. 이제 데이터가 표시된 후에 변경 사항을 저장하려고합니다. SAVE라는 버튼이 있습니다. 변경 사항을 저장하는 데 사용됩니다. 이 엔티티의 변경 사항을 저장하는 방법을 알 수 없습니까?Asp.Net에서 Entity Framework의 변경 사항을 저장합니다.

엔티티 이름은 Appraiser이며 DAL, BL에서는 AppriaserDetails 등을 가져 와서 aspx.cs.에서 사용하는 것과 같은 메소드를 만들었습니다. u는 새 레코드를 삽입 할 경우

public void UpdateData(Appraiser appId) 
    { 

     var Appsave = context.Appraisers.FirstOrDefault(App => App.AppraiserId == appId.AppraiserId); 
     Appsave.AppraiserName = appId.AppraiserName; 
     Appsave.AppraiserPhones = appId.AppraiserPhones; 
     Appsave.AppraiserAppraiserCompanyId = appId.AppraiserAppraiserCompanyId; 
     Appsave.Address = appId.Address; 
     Appsave.City = appId.City; 
     Appsave.ProvinceState = appId.ProvinceState; 
     Appsave.Email = appId.Email; 
     context.SaveChanges(); 
    } 

답변

1

는 다음

 if (appraiserEntityObject.EntityState == EntityState.Detached) 
     { 
      // In case of web, we got an existing record back from the browser. That    object is not attached to the context yet. 
      MyContext.Appraisers.Attach(appraiserEntityObject); 
      MyContext.ObjectStateManager.ChangeObjectState(appraiserEntityObject, EntityState.Modified); 
     } 
     MyContext.SaveChanges(); 

여기 MyContext UR 된 ObjectContext입니다 업데이트의 경우

 MyContext.Appraisers.AddObject(appraiserEntityObject); 
     MyContext.SaveChanges(); 

를 사용할 수 있습니다

내 코드입니다

+0

어디에서 작성해야합니까 코드 위의 전자? Buttonsave_click 이벤트의 aspx.cs? –

+0

이상적으로는 UAL에서, 그리고 ur aspx에서는 BL 함수를 호출하고 DAL 함수를 호출합니다. 만약 당신이 ur 웹 프로젝트에서 ObjectContext를 참조하면, 또한 aspx.cs에서 호출 할 수 있습니다. 그러나 그 일을하지 말아야합니다. – Developer

+0

아직 얻지 못하고 있습니다. DAL에서 그 메소드에 대해 말해 줄 수 있습니까? 어떤 id를 넘겨 주면, 아니면 void 함수가 될 것인가? –