gpt4 book ai didi

c# - Linq to Entities - 查询以检查输入中 "n"个字符的匹配

转载 作者:太空宇宙 更新时间:2023-11-03 23:05:04 25 4
gpt4 key购买 nike

我想根据用户输入的字符返回一组结果。

我创建了以下查询,它在 LINQpad4 中执行我想要的操作

LinqPad

var PostCodes = (from OA in OrganisationAddresses
join OV in OpportunityVersions on OA.ID equals OV.LocationID
where OA.CurrentVersion.PostCode.Contains("LH")
select OV.ID).ToList();

PostCodes.Dump();

用户输入“LH”字符串,我返回13个结果

现在,当我在我的生产环境中放置一个非常相似的查询时,如果我输入“LH”,我会得到零结果。它仅在输入完整字符串时返回匹配项,例如“LH1 1HP”

生产

Builder = Builder.And(o => 
(from OA in Context.OrganisationAddresses
join OV in Context.OpportunityVersions on OA.ID equals OV.LocationID
where Options.PostCode.Contains(OA.CurrentVersion.PostCode)
&& OV.ID == o.CurrentVersionID select OV.ID).Any());

我正在使用 SQLServer2012 和 LINQ to Entities。我想知道是什么原因造成的,以及如何解决。

谢谢

最佳答案

看来你错误地交换了一些代码

Builder = Builder.And(o => 
(from OA in Context.OrganisationAddresses
join OV in Context.OpportunityVersions on OA.ID equals OV.LocationID
where OA.CurrentVersion.PostCode.Contains(Options.PostCode) // fix in this string
&& OV.ID == o.CurrentVersionID select OV.ID).Any());

而且您在产品中还有其他条件:

&& OV.ID == o.CurrentVersionID

关于c# - Linq to Entities - 查询以检查输入中 "n"个字符的匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41589196/

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