我需要根据用户提供的搜索过滤器从 Linq 查询中删除某些项目(在这种情况下,它将是代理的名称)。
基本上第一个查询从相关表中获取所有信息,我需要过滤掉那些没有与指定名称对应的名称。
下面是我试图使用的代码,但显然这followUpItems.Remove()
不是一个实际的方法,只是在寻找类似的东西。由于followUpItems
被定义为一个var
而不是一个列表,我想知道这是否可能?
var followUpItem = from follow in db.FollowUpItems
where (follow.TableName.Equals(TableName) || TableName.Equals("%")) &&
(follow.IssueType.Equals(IssueType) || IssueType.Equals("%")) &&
(follow.Status.Equals(Status) || Status.Equals("%"))
orderby follow.Id
select follow;
//Set display names
foreach (var item in followUpItem)
{
var key1 = int.Parse(item.Key1);
var name = (from a in db.Agent
where key1 == a.SymetraNumber
select a).Single();
item.DisplayName = name.FirstName + " " + name.LastName;
if (!item.DisplayName.Equals(AgentName))
followUpItem.Remove(item);
}