我有一个小请求对象要过滤。
public class BufferFlatViewFilter
{
public bool? Active { get; set; }
public int? CustomerId { get; set; }
public int? TypeId { get; set; }
}
我需要为 db 请求建立 where 过滤器。
使用实体框架,我能够像这样构建 Where 语句。
public List<BufferFlatView> GetBufferFlatView(BufferFlatViewFilter filter)
{
var data = db.qryCampaignOverView
.AsQueryable();
if (filter.TypeId.HasValue)
data = data.Where(x => x.TypeId == filter.TypeId.Value);
if (filter.CustomerId.HasValue)
data = data.Where(x => x.CustomerId == filter.CustomerId);
if (filter.Active)
data = data.Where(x => x.Active == filter.Active);
return data.ToList();
}
鉴于实体框架查询是延迟加载的,但不是 OrmLight 查询,我不确定如何为 OrmLight 构建 where 语句。