微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用多个可能为空的其他集合对表格实施全局搜索

如何解决使用多个可能为空的其他集合对表格实施全局搜索

我们当前正在使用jQuery数据表来显示不同的打开的凭单。结构基本上是所有不同类型的票证都有相同的基本字段,但其他字段根据类型是不同的。

例如,基础字段是:

id,userid (FK),dateRequested,dateCompleted,ticketTypeId (FK),description

和其他表与不同的票证类型相关联,例如:

move ticket: id,baseFieldsId (FK),equipmentName,newLocation
sw install ticket: id,softwareName,softwareversion
troubleshoot ticket: id,issue

每个基本字段可以有多个票证(例如在一张票证中,移动3种不同的设备)

这个想法是搜索所有打开的票证,数据表显示基本字段,我实现了一种显示每行展开视图以显示订单项的方法搜索时,我希望能够搜索基本字段以及与搜索文本实例匹配的特定字段。

我们目前的操作方式是:

pageData是基础字段实体的类型,并且基础字段实体针对不同的票证类型具有多个不同的集合。

pageData.Where(a =>
   a.id.ToString().Contains(search) ||
   a.description.Contains(search) ||
   string.Concat(a.User.FirstName," ",a.User.LastName).Contains(search) ||
   a.TicketType.TicketTypeName.Contains(search) ||
   a.moveTicket.Select(n => n.equipmentName).Contains(search) ||
   a.moveTicket.Select(n => n.newLocation).Contains(search) ||
   ...

,依次类推。大约有17种不同的票证类型(和对应的表格)。

当前的搜索方法花费很长的时间(有> 7000个基本字段行,对于潜在的其他表有1个很多)。有什么选择可以加快搜索速度?无法链接到该页面,该页面位于Intranet网络上。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。