动态构造Linq查询的Select子句
本文关键字:Select 子句 查询 Linq 动态 | 更新日期: 2023-09-27 17:58:46
我正在使用LINQ to Entities,我有几个查询,希望能够在运行时指定Select子句。
我想我必须通过构建一个表达式并将其添加到IQueryable中来完成,但我不确定如何做到这一点。有人能给我一个提示吗?
我不确定你能用表达式做你想做的事。select子句指定IQueryable集合中必须在编译时定义的对象的类型。有一种叫做动态林克的东西可以做你想做的事。
类似这样的东西:
IQueryable<cerberus_Ticket> matches = db.cerberus_Tickets;
if (this.AgentIdField.Text.Trim().Length > 0)
{
matches = matches.Where(a => a.AgentId == criteria.AgentId);
}
if (this.TicketIdField.Text.Trim().Length > 0)
{
matches = matches.Where(a => a.TicketId.Contains(criteria.TicketId));
}
var output = matches.ToList();