gpt4 book ai didi

.net - Linq like 跨多个领域搜索

转载 作者:行者123 更新时间:2023-12-02 08:52:23 27 4
gpt4 key购买 nike

我正在尝试创建一个简单的地址屏幕,用户可以在其中使用一个“google”样式的查询框来搜索所有地址字段,即地址行 1、城镇、城市、邮政编码等。

我在 SQL 数据库中使用 .net 和 EF。我试过了

IEnumerable<T> results = from x in dbSet
where (x.AddressLine1 + x.AddressLine2 +
x.AddressLine3 + x.Town + x.City +
x.County + x.Postcode).Contains(Query)
select x;

这不匹配任何应该匹配的结果。如果我把它改成

IEnumerable<T> results = from x in dbSet
where x.AddressLine1.Contains(Query)
select x;

它匹配并返回结果,但显然它没有搜索所有字段。第一个问题为什么我的第一个例子不起作用,第二个问题是这是实现这个的最好方法还是它会在压力下挣扎。

最佳答案

试试这个:

IEnumerable<T> results = from x in dbSet
where x.AddressLine1.Contains(Query) ||
x.AddressLine2.Contains(Query) ||
x.AddressLine3.Contains(Query) ||
x.Town.Contains(Query) ||
x.City.Contains(Query) ||
x.County.Contains(Query) ||
x.Postcode
select x;

对于使用 Linq 的更复杂的搜索,我使用 LinqKit

关于.net - Linq like 跨多个领域搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7569725/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com