用于与实体框架中的部分字符串完全匹配的 LINQ 表达式

本文关键字:表达式 LINQ 字符串 实体 框架 用于 | 更新日期: 2023-09-27 18:32:14

我试图使用以下查询获取MasterDto列表。但它没有返回预期的结果。所以我想得到给定模式的完全匹配结果。

 // Department Code like AB,ABC,BC,...etc.
    string jobNumberPrefixPattern= departmentCode; 
 MasterDto reportDto = unitOfWork.GetRepository<MasterDto>().LinqQuery
                                (m => m.CreateUserid.ToUpper() == userName.ToUpper()
                                      && m.JobNumberTemp.StartsWith(jobNumberPrefixPattern))
                                 .OrderByDescending(m => m.MasterPk)
                                 .FirstOrDefault();

JobNumberTemp是字符串字段,它基于部门代码和 number.samples 的下一个值创建,如下所示。

  • AB-0001
  • AB-0002
  • ABC-0001

这里我用了string.StartsWith,而不是用这个有什么建议要做吗?

用于与实体框架中的部分字符串完全匹配的 LINQ 表达式

您的查询很好。您用于jobNumberPrefixPattern的值是问题所在。ABC 以 AB 开头,如果您的模式是 AB,那么我返回 ABC 值是预期的。如果你想要AB而不是ABC,你应该使用AB-作为你的jobNumber前缀。