add new issue       

Issue ID:  673     Rework LINQ to CSLA      
Created by rocky on 2009-12-18 11:45 PM, 2898 days ago
Project:  CSLA .NET
Category:  enhancement
Priority:  high
Status:  closed
Feature area:LINQ to CSLA
Version:4.0.x
  Entering "issue#999" in comment creates link to id 999

show inline images      show change history

comment 2270 posted by rocky on 2010-03-05 3:57 PM, 2821 days ago 
Added LinqObservableCollection with ToSyncList() extension methods to create a synced list from a BLB (or actually any other ObservableCollection).
comment 1994 posted by rocky on 2010-01-10 4:00 PM, 2875 days ago 
merged bug 93 into this bug:
Consider implementing IQueryable on ROB to enable dynamic queries
comment 1991 posted by rocky on 2010-01-08 7:06 PM, 2877 days ago 
Added LinqObservableCollection class, which is a live view over an ObservableCollection, created based on a filtered IList<T> that is presumably generated by a LINQ query.
comment 1970 posted by rocky on 2010-01-04 4:16 PM, 2881 days ago 
merged bug 621 into this bug:
Eliminate custom query provider and replace with a ToBindingList() extension method
comment 1964 posted by rocky on 2009-12-18 11:45 PM, 2898 days ago 
Change LINQ to CSLA radically.

Remove the current implementation. For indexing people can use i4o. 

This means we can remove C5 from the solution.

For LinqBindingList, change things so BusinessBindingListBase has an extension method such as .ToSyncView() that returns a LinqBindingList (or equivalent - something like FilteredBindingList actually).

For BusinessListBase add an extension method such as .ToSyncView() that returns a LinqObservableCollection - again a live view over the original list.
comment 1783 posted by rocky on 2009-10-27 10:28 AM, 2950 days ago 
The 3.x implementation of L2C has BLB implement a custom query provider to return a LinqBindingList. This is problematic for a couple reasons

1. It is hard to maintain
2. It causes some perf issues
3. It returns a BindingList<T>, which won't help as we shift to ObservableCollection<T> in 4.0

In 4.0 we should consider changing the implementation so BLB does nothing special for L2O queries - they return to working as normal. Then there should be ToBindingList() and ToObservableCollection() extension methods that create synchronized views over the original list by using the results of a normal query.
comment 215 posted by rocky on 2008-08-20 10:06 AM, 3383 days ago 
http://forums.lhotka.net/forums/thread/25516.aspx