0

바인딩,하지만 지금은 DbContext 노력하고있어, 나는 DbContext를 사용 예ObjectContext는 & dbcontext 차이 나는 내 프로젝트에 ObjectContext를 사용하고있다

에 대한 데이터 소스에 바인딩 할 때 이해가 안 약간의 차이를 발견 내가 저장하고 데이터를 다시로드 할 때까지

나는, 내가 그렇게 "bsClientPhones을"결합이

DbSet<Client> Clients = ctx.Client; 
Clients.Load(); 
bsClients.DataSource = Clients().Local.ToBindingList(); 
bsClientPhones.DataSource = ((Client)bsClients.Current).Phone; // this line doesn't work 

같은 데이터 소스는 그리드 때 추가 변경을 표시하거나 삭제하지 않습니다 바인딩합니다. 로컬 또는 바인딩 목록으로 변환 할 수 없습니다.

이것이 DbContext를 사용하는 올바른 방법인지 잘 모르겠습니다. 제발 나를 인도 해 줄 수 있습니까? 많은 문서를 읽었지 만 잃어 버렸습니다.

답변

0

엔티티 수준에서 ObservableCollection을 구현하고 동일한 것을 그리드에 제공해야합니다.

public class ObservableListSource<T> : ObservableCollection<T>, IListSource 
     where T : class 
    { 
     private IBindingList _bindingList; 

     bool IListSource.ContainsListCollection { get { return false; } } 

     IList IListSource.GetList() 
     { 
      return _bindingList ?? (_bindingList = this.ToBindingList()); 
     } 
    } 

this.categoryBindingSource.DataSource = 
       _context.Categories.Local.ToBindingList(); 

은 모든 변경이 끝난 후, 당신은 여기에

this.categoryDataGridView.Refresh(); 내가 DataGridView를 함께 제공 할 수 있습니다 빠른 데모입니다 호출해야합니다. GridView for Web 양식에도 동일하게 적용됩니다.

https://github.com/codebased/tm/tree/master/WindowsFormTestConsole

+0

당신이 작동하지 않습니다 제공하는 링크 (당신이 "404 - 제다이"페이지를 표시하도록 구성하지 않는 한 ...) – Matt

관련 문제