2

Entity Framework 모델을 통해 데이터베이스에서 WPF DataGrid로 데이터를 가져 오는 간단한 C# WPF 응용 프로그램이 있습니다. 데이터베이스에서 WPF DataGrid 방향으로 모든 것이 정상적으로 작동합니다.Entity Framework를 통해 WPF DataGrid에서 데이터베이스를 업데이트 할 수 없습니다.

내 문제는 데이터 그리드와 데이터베이스가 반대 방향입니다. 모든 셀 업데이트 후에 데이터베이스를 업데이트하고 싶습니다. 따라서 CellEditEnding 이벤트에서 작업합니다.

아래 코드는 예외하지만 WPF 데이터 그리드 셀 변경 사항이 데이터베이스에 저장되지 않습니다를 포기하지 않는 당신이 말해 줄 수주십시오

(DGISPRSDataView 내 WPF DataGrid에이다), 문제는 어디에 있습니까? 내가 뭘 놓치고 있니? DataGrid 변경 사항을 데이터 모델과 데이터베이스에 어떻게 연결합니까? 또는 Silverlight 경우와 같이 서버에서 콜백이 있습니다 (Entity model + DomainContext 클래스)

고마워요!

private void DGISPRSDataView_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e) 
{ 
    try 
    { 
     ReviewsEntities dataEntity = new RreviewsEntities(); //DataContext 
     this.DGISPRSDataView.DataContext = dataEntity.Form_output_test; 
     dataEntity.SaveChanges(); 

     MessageBox.Show("Update succesfully end"); 
    } 
    catch (Exception err) 
    { 
     MessageBox.Show(err.ToString()); 
    } 
} 

답변

1

문맥 안에서 DBSets 중 하나에 데이터를로드 해보십시오.

 bindingSource1.EndEdit(); 
     Db.SaveChanges(); 
를 저장할 때

 var dset = Db.Tasks; 
     DbSet<Task> qry = dset; 
     qry.Load(); 
     bindingSource1.DataSource =dset.Local.ToBindingList(); 

를로드 할 때 컨텍스트는 유지하려는 각 클래스에 대한 DBSet을해야하고, 그것은 예를 들어

데이터 소스의로 그리드 그들 중 하나가 있어야합니다