加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 07:59:24 所属栏目:百科 来源:网络整理
导读:在我的一个页面中,我需要检查输入的客户信息是否包含先前可能已输入的重复PAN NO,电子邮件,移动号码.目前我正在尝试使用此 Linq To SQL语句 var duplicate = (from dup in dt.Data_Customer_Logs where dup.cPanGirNo == panno || dup.cEmail == email || du
在我的一个页面中,我需要检查输入的客户信息是否包含先前可能已输入的重复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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读