如何使用SubSonic构建动态查询

时间:2009-05-09 01:08:56

标签: subsonic

我需要根据不同的条件构建(并运行)查询。当我构建一个要运行的文字SQL时,这意味着连接字符串以动态构建SQL。

我如何使用SubSonic?例如,我需要在某些情况下添加WHERE子句,在其他情况下需要添加ORDER BY。如何构建和运行此查询的代码看起来如何?

1 个答案:

答案 0 :(得分: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>();