2013-10-27 42 views
0

我試圖學會使用短小精悍。可以將Dapper查詢更改爲ObservableCollection?

我有這個類在這裏:

public class Member_Collection : ObservableCollection<Member> 
{ 
} 

和我在DAL類有這樣的方法:

public static Member_Collection SqlSelectAll(string connString) 
    { 
     Member_Collection entityToReturn = null; 

     using (var conn = new SqlConnection(connString)) 
     { 
      var entityList = conn.Query("Select * From Member"); 

      entityToReturn = new Member_Collection(); 

      foreach (var item in entityList) 
      { 
       entityToReturn.Add(item); 
      } 
     } 

     return entityToReturn; 
    } 

這有離開查詢返回一個ObservableCollection?

回答

2

獲得它來「返回」一個特定的集合類型將是一種添加自定義擴展方法的情況。如果你只是想一般的觀察集合類型,那麼:

public static ObservableCollection<T> ToObservable<T>(
    this IEnumerable<T> source) 
{ 
    return new ObservableCollection<T>(source); 
} 

注意,返回一個特定的子類是比較複雜的。要使用泛型將需要調用者指定兩個泛型參數,這是令人煩惱的。您可能需要每個項目類型的擴展方法 - 再次,非常醜陋

相關問題