Subsonic 如何使用亚音速创建动态查询

Subsonic 如何使用亚音速创建动态查询,subsonic,Subsonic,我需要根据不同的条件构建(并运行)一个查询。当我构建要运行的文本SQL时,这意味着连接字符串以动态构建SQL 我如何使用亚音速?例如,我需要在某些情况下添加WHERE子句,在其他情况下添加ORDERBY。构建和运行此查询的代码看起来如何?下面是一个将v2.1+和基类设置为RepositoryRecord的示例: var q = DB.Select().From<Product>(); if (someCondition) q.Where(Product.ProductId

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


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

下面是一个将v2.1+和基类设置为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>();
var q=DB.Select().From();
如果(某些条件)
q、 式中(Product.ProductIdColumn).IsEqualTo(1);
如果(订单==“ASC”)
q、 OrderAsc(Product.Columns.ProductId)
其他的
q、 OrderDesc(Product.Columns.ProductId)
var results=q.ExecuteAsCollection();

下面是一个将v2.1+和基类设置为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>();
var q=DB.Select().From();
如果(某些条件)
q、 式中(Product.ProductIdColumn).IsEqualTo(1);
如果(订单==“ASC”)
q、 OrderAsc(Product.Columns.ProductId)
其他的
q、 OrderDesc(Product.Columns.ProductId)
var results=q.ExecuteAsCollection();