2009-05-09 26 views
0

我需要根據不同的條件構建(並運行)查詢。當我構建要運行的文字SQL時,這意味着要串聯字符串來動態構建SQL。如何使用SubSonic構建動態查詢

我如何使用SubSonic來做到這一點?例如,如果我需要在某些情況下添加WHERE子句,在其他情況下需要添加ORDER BY。如何構建和運行此查詢的代碼看起來如何?

回答

3

下面是與V2.1 +爲例,BaseClass的設置RepositoryRecord:

var q = DB.Select().From<Product>(); 

if (someCondition) 
    q.Where(Product.ProductIdColumn).IsEqualTo(1); 

if (order == "ASC") 
    q.OrderAsc(Product.Columns.ProductId) 
else 
    q.OrderDesc(Product.Columns.ProductId) 

var results = q.ExecuteAsCollection<ProductCollection>();