[英]Dynamically construct Select clause of a Linq query
我正在对实体使用 LINQ,并且我有几个查询,我希望能够在运行时指定 Select 子句。
我想我必须通过构建一个表达式并将其添加到 IQueryable 来做到这一点,但我不知道该怎么做。 任何人都可以给我一个提示吗?
我不确定你可以用表达式做你想做的事。 select 子句指定 IQueryable 集合中 object 的类型,该集合必须在编译时定义。 有一种叫做Dynamic Linq的东西可以做你想做的事。
像这样的东西:
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();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.