我正在使用角度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;
}
}
}
这是调试模式下的屏幕截图。
问题很清楚,where子句没有匹配的记录。此外,您要检查记录,您应该使用唯一ID而不是其他必需或非必填字段进行检查。这是应用它的确切方式。您应该有某种独特的AccountDetailId
或其他名称,它们会为记录应用唯一的信息。
var query = (from x in context.Current_Account_Holder_Details
where x.AccountDetailId == current_Account_Details.AccountDetailId
select x).FirstOrDefault();