表单数据查重

表单查询时用查重的发方法查询数据。
在之前因为不懂得表单数据的方法,可谓是跑了不少弯路,不仅代码打的非常多而且效果也不怎么滴,页面卡顿,加载得很慢,就比如下面用for循环来的对表单数据进行查询和查重的方法来查询数据:

for循环来的对表单数据:
var User = (from tbCommonUser in myModels.S_CommonUser
join tbUser in myModels.S_User on tbCommonUser.UserID equals tbUser.UserID
select new
{
CommonUserID = tbCommonUser.CommonUserID,
UserName = tbUser.UserName
}).ToList();

        for (int i = 0; i < User.Count; i++)
        {
            tggl shuj = new tggl();
            shuj.TuozZongs = 0;
            var CommonUserID = User[i].CommonUserID;
            var UserName = User[i].UserName;

            //获取到关联用户
            var GeneralizeRelevance = (from tbGeneralizeRelevance in myModels.S_GeneralizeRelevance
                                       where tbGeneralizeRelevance.GeneralizeR == UserName && tbGeneralizeRelevance.RelevanceTime != null
                                       select tbGeneralizeRelevance).ToList();
            if (GeneralizeRelevance.Count() > 0)

我们要对一表单的用户名进行查询:for循环查询获取到不重复的一条用户名和但是那个表有多条重复名称的多条数据,无奈之下,安我的想法首先查询出含有用户名的用户表所有数据再用查询出用户名对着对应的表进行fro循环一个一个的查询,直到找到含有相同数据的就返回对应用户表的用户名。这样一来不仅代码执行得多而且还很慢,如果用户表有很多很多数据那就相当于陷入了死循环了。
在这里插入图片描述

用查重的方法来查询数据就不会出现这种情况了,不仅代码少,执行时间比上面的少很多而且能得到同样的数据结果:
var GeneralizeRelevance = (from tbGeneralizeRelevance in myModels.S_GeneralizeRelevance
where tbGeneralizeRelevance.RelevanceTime != null
select tbGeneralizeRelevance. GeneralizeR) Distinct().ToList();
Distinct():返回序列中非重复的元素。

这样一来页面页面加载数据回填也比for循环查重快多了

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值