Linq查询始终返回False并且无法获取数据

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

我正在使用角度js应用程序的wcf服务。我写了linq查询来检查用户信息。如果不为null,则查询应捕获信息并返回true,否则返回false。但问题是它总是返回false并且捕获值为null

这是linq查询。

 public bool CreateCurrentAccountCheck(Current_Account_Holder_Details current_Account_Details)
        {
          using (HalifaxDatabaseEntities context =new HalifaxDatabaseEntities())
            {

                var query = (from x in context.Current_Account_Holder_Details
                             where x.Account_Holder_First_Name == current_Account_Details.Account_Holder_First_Name && x.Account_Holder_Last_Name == current_Account_Details.Account_Holder_Last_Name
                             && x.Account_Holder_DOB == current_Account_Details.Account_Holder_DOB && x.Account_Holder_House_No == current_Account_Details.Account_Holder_House_No
                             && x.Account_Holder_Street_Name == current_Account_Details.Account_Holder_Street_Name && x.Account_Holder_Post_Code == current_Account_Details.Account_Holder_Post_Code
                             select x).FirstOrDefault();
                if (query!=null)
                {
                    return true;

                }
                else
                {
                    return false;
                }
            }
        }

这是调试模式下的屏幕截图。

enter image description here

linq wcf
1个回答
1
投票

问题很清楚,where子句没有匹配的记录。此外,您要检查记录,您应该使用唯一ID而不是其他必需或非必填字段进行检查。这是应用它的确切方式。您应该有某种独特的AccountDetailId或其他名称,它们会为记录应用唯一的信息。

var query = (from x in context.Current_Account_Holder_Details
                             where x.AccountDetailId == current_Account_Details.AccountDetailId
                             select x).FirstOrDefault();
© www.soinside.com 2019 - 2024. All rights reserved.