c# – 用于检查重复值的Linq查询

前端之家收集整理的这篇文章主要介绍了c# – 用于检查重复值的Linq查询前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的一个页面中,我需要检查输入的客户信息是否包含先前可能已输入的重复PAN NO,电子邮件,移动号码.目前我正在尝试使用此 Linq To sql语句
var duplicate = (from dup in dt.Data_Customer_Logs
                     where dup.cPanGirNo == panno 
                           || dup.cEmail == email 
                           || dup.nMobileNo.ToString() == mobno
    select dup).Any();

它正在工作,但任何人都可以帮助我解决我的问题的正确方法.如果没有找到记录将是什么结果.
欢迎任何建议.

解决方法

bool duplicateExists = dt.Data_Customer_Logs.Any(x => 
                         x.cPanGirNo == panno 
                      || x.cEmail == email
                      || x.nMobileNo.ToString() == mobno);

如果你只想知道这些记录是否存在,这是一个清洁工.而且我认为它会避免将多个记录带回客户端,然后对结果进行IEnumerable< T> .Any.

如果您还需要获取符合条件的记录,则可以使用IQueryable< T>.在哪里:

var duplicates =  dt.Data_Customer_Logs.Where(x => 
                         x.cPanGirNo == panno 
                      || x.cEmail == email
                      || x.nMobileNo.ToString() == mobno);
if(duplicates.Any())
{
    // use duplicates...
    foreach(var dup in duplicates)
    {
        //use dup.cEmail,dup.nMobileNo,etc.

猜你在找的C#相关文章