繁体   English   中英

动态构造 Linq 查询的 Select 子句

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM