gpt4 book ai didi

linq - 如何在Entity Framework中查询整数列以“开始于”?

转载 作者:行者123 更新时间:2023-12-03 14:05:05 26 4
gpt4 key购买 nike

我有一列在EF(代码优先)中定义为整数。我想使用“开始于”进行搜索。现在,我可以这样做:

Where(x => SqlFunctions.StringConvert((double)x.AccountNumber).StartsWith(searchTerm))


但是, SqlFunctions.StringConvert()被转换为T-SQL函数 STR(),由于我无法理解的原因,该函数将结果左移。

另外,我不能使用 string.TrimStart(),因为Entity Framework不支持它。

谁能提供任何帮助?

最佳答案

Trim()TrimStart()在LINQ to Entities中起作用,因此您可以使用:

Where(x => SqlFunctions.StringConvert((double)x.AccountNumber)
.TrimStart().StartsWith(searchTerm))


TrimStart在SQL中转换为 LTRIM。例如,使用 searchTerm = 123时,您将得到类似:

WHERE LTRIM(STR( CAST( [Extent1].[AccountNumber] AS float))) LIKE N'123%'

关于linq - 如何在Entity Framework中查询整数列以“开始于”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7717253/

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