为什么 linq contains 与空和非空字符串组合时总是返回 false 值?

问题描述 投票:0回答:1

详情:

  1. 在下面的代码中,
    _reportData.DistrictID
    reportData.BeneficieryID
    值是
    ""
    。但过滤条件不起作用。我的要求是从表中获取匹配的值。
  2. 下面的代码没有过滤数据。

下面是检索过滤数据的代码

    public async Task<IEnumerable<BeneficieryMasterExcelUpload>> GetBeneficieryReports(ReportsDataSearch _reportData)
    {
       

        IEnumerable<BeneficieryMasterExcelUpload> beneficieryList = _appDBContext.BeneficieryMasterExcelUpload;
        try
        {

            var beneficieryList = (from b in _appDBContext.BeneficieryMasterExcelUpload
                                   where b.Financial_Year.Contains(_reportData.FinancialYear)
                                   || b.District.Contains(_reportData.DistrictID) ||
                                   b.Name.Contains(_reportData.BeneficieryID) ||
                                   b.District.Contains(_reportData.DistrictID) ||
                                   b.Taluk.Contains(_reportData.TalukID) ||
                                          b.Village.StartsWith(_reportData.VillageID) ||
                                           b.SchemeName.Contains(_reportData.SchemeMasterID)



                                   select new BeneficieryMasterExcelUpload()
                                   {
                                       BeneficieryID = b.BeneficieryID,
                                       Name = b.Name,
                                       SchemeName = b.SchemeName,
                                       BusinessName = b.BusinessName,
                                       District = b.District,
                                       Taluk = b.Taluk,
                                       Village = b.Village,
                                       Constitunency_num = b.Constitunency_num,
                                       BankName = b.BankName,
                                       Financial_Year = b.Financial_Year,
                                       Religion = b.Religion,

                                   }).ToList();
            return beneficieryList;
        }
        catch (Exception ex)
        {
            return null;
        }
c# linq entity-framework-core contains
1个回答
0
投票

您是否想用

Beneficiery
过滤
BeneficieryID

我观察到其中一行写着

b.Name.Contains(_reportData.BeneficieryID)
。相反,您是否想参考
b.Beneficiery.Contains(_reportData.BeneficieryID)

© www.soinside.com 2019 - 2024. All rights reserved.