gpt4 book ai didi

c# - 带有 StartsWith 的 List 的 E.F. lambda 表达式

转载 作者:行者123 更新时间:2023-11-30 17:44:45 26 4
gpt4 key购买 nike

我正在使用 .NET Framework 4.5.1 和 C# 开发 Entity Framework 6.1.2 库。

我有这个谓词:

Expression<Func<EXTERNAL_CODES, bool>> predicate = null;
List<string> codes = GetStartEntCodes(startingCode, quantity);

predicate = (e =>
e.USED == 0
&& codes.Contains(e.CODE)
&& e.CHINA_CODES_HEADER_ID == batch.Id
&& e.CODE_LEVEL == codeLevel
&& (e.BATCH_ID == batch.Id || e.BATCH_ID == null));

但是这部分&& chinaCodes.Contains(e.CODE)不起作用。

e.CODE 是 nvarchar(20) 并且 codes 列表中的每个字符串仅包含前 15 个字符。

我想这样做:

`WHERE CODE LIKE `codes.value%'; -- Note: `codes.value%' represents each value in codes list.`

我该怎么做?

最佳答案

你可以尝试这样的事情:

        predicate = (e =>
e.USED == 0
&& codes.Any(x => x.StartsWith(e.CODE))
&& e.CHINA_CODES_HEADER_ID == batch.Id
&& e.CODE_LEVEL == codeLevel
&& (e.BATCH_ID == batch.Id || e.BATCH_ID == null));

关于c# - 带有 StartsWith 的 List<string> 的 E.F. lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29072211/

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