我正在使用LINQ to Entities,我有几个查询,我希望能够在运行时指定Select子句。
我想我必须通过构建Expression并将其添加到IQueryable来实现,但我不知道该怎么做。任何人都可以给我一个暗示吗?
答案 0 :(得分:1)
我不确定你能用表达式做你想做的事。 select子句指定IQueryable集合中对象的类型,必须在编译时定义。有一种叫Dynamic Linq的东西可以做你想要的。
答案 1 :(得分:0)
这样的事情:
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();