【发布时间】:2015-05-18 12:53:07
【问题描述】:
我有一个使用 Fluent Nhibernate Linq / SQL Server 的 asp.net-mvc 网站。我有一个文本框,有人可以在其中输入姓名并生成以下查询,我现在正在使用该查询来搜索我的 Person 表:
return Session.Query<Person>()
.Where(r => (r.LastName.Contains(s) || r.FirstName.Contains(s)));
这在转换为“类似 SQL 的查询”方面按预期工作
Select * from Person where FirstName like '%%' or LastName like '%%'
但我有 2 个新要求,我不确定 nhibernate linq 是否支持。
在某些情况下,人们会以大写或小写形式输入姓名,因此我希望能够进行不区分大小写的搜索。
-
由于它是单个文本框,因此在某些情况下,人们会同时输入名字和姓氏(例如“Smith, Joe”,并且由于第一个或最后一个都不存在整体字符串,因此无法找到结果名称字段。除了将 UI 分解为单独的字段(由于某些其他原因我不能这样做)之外,还有什么关于我如何支持查询以包含以下用户搜索字符串组合的建议
- [第一个][最后一个]
- [最后一个],[第一个]
在上面的搜索代码中。
【问题讨论】:
标签: c# linq nhibernate fluent-nhibernate