我希望有一个相当智能的搜索框,用于按人名查找对象。在linq中,它看起来像这样:
Rcpp
但这似乎是一种糟糕的做事方式,我真的不确定Linq的性能如何下降。这种说法是否合适,或者有办法改进吗?
答案 0 :(得分:3)
EF只是将LINQ查询转换为SQL并对数据库执行SQL语句。您上面的查询将转换为带有OR的where子句。每个contains()
都将转换为SQL中的like
。所以,你会得到类似的东西:
select *
from users
where FirstName like '%query%'
or LastName like '%query%'
只要生成的查询执行正常,您就可以了。
如果效果不佳,您可以查看添加索引或使用全文搜索。