I have a Linq to SQL data access layer upon which I bind some WPF UI, particularly a grid. The following works nicely, where SiteEntity.SiteTanks is a LINQ to SQL collection.
Private IBindingList _siteTanks;
public IBindingList SiteTanks
_siteTanks = this.SiteEntity.SiteTanks.GetNewBindingList();
_siteTanks.ListChanged += new ListChangedEventHandler(_siteTanks_ListChanged);
a) add entities to the underlying data source and the grid picks up the changes.
b) delete from - ditto (because I can call _siteTanks.Remove() in addition to the Linq to sql DeleteOnSubmit(instance)
c) I can edit the entity properties and the ListChanged event fires, thus allowing me to know the data IsDirty.
However, at some point I know that I will need to filter the list based on user actions, eg adding a filter condition such as "ProductTypeID = 2". Hence my interest in Bindable LINQ.
I have considered and tried an implementation using Bindable LINQ. However none of the above work. Editing the items on the list works, as point c), but the grid isn't notified.