通过路由,交换,安全,Qos四大典型技术模块同你分享网络运维中的技术难题,让老司机带你躲过网络运维常见的那些坑, 查看详情>>>
0

我的帖子

个人中心

设置

  发新话题
4个集合字段及顺序都一样,有Time字段表示时间,现在要按时间排序 求解如何做



新建立一个集合,将这几个集合内容加入,然后排序;



引用:
原帖由 oswica 于 2018-1-8 08:41 发表
新建立一个集合,将这几个集合内容加入,然后排序;
需要建立新实体类的方式来做么?



是的



引用:
原帖由 oswica 于 2018-1-8 11:02 发表
是的
新增实体类之后,4个集合查询的都是 XXX select new Demo () {} , 用Union连接集合还是用list<Demo> 装这些集合排序啊?



引用:
原帖由 oswica 于 2018-1-8 11:02 发表
是的
大神 请问 我怎么写出来查询出来 一个属性都会显示两次啊?



List<ProblemRepair> AllList = new List<ProblemRepair>();
            if (string.IsNullOrEmpty(TaskType) || lx.Contains("单项检测"))
            {
                var dx = (
                        from a in LinqDBContext.wbRepairList.Where(x => x.orgid == orgid)
                        from b in LinqDBContext.wbRepairInfo.Where(x => x.wbRepairListId == a.wbRepairListId)
                        from c in LinqDBContext.wbDeviceRepairInfo_Test.Where(x => x.wbRepairListId == b.wbRepairListId && x.ProjectId == b.ProjectId)
                        from d in LinqDBContext.UserCheckProjeckList.Where(x => x.ProjectId == b.ProjectId)
                        from e in LinqDBContext.site.Where(x => x.siteid == a.siteid)
                        from f in LinqDBContext.onlineorg.Where(x => x.orgid == a.orgid)
                        select new ProblemRepair()
                        {
                            wbRepairListId=a.wbRepairListId,
                            orgid= a.orgid,
                            siteid=a.siteid,
                            wbRepairInfoId= c.wbRepairInfoId,
                            wbRepairTime=(DateTime) c.wbRepairTime,
                            wbProblemInfo= c.wbProblemInfo,
                            HandingState=c.HandingState,
                            DealResult=c.DealResult,
                            tiSysType= d.tiSysType+"",
                            faultdesc = d.ProjectContent,
                            sitename= e.sitename,
                            orgname= f.orgname,
                            vAddress=f.vAddress,
                            UnitName = c.DealCompanyId == a.orgid ? f.orgname :
                            (from g in LinqDBContext.Maintenance
                             from h in LinqDBContext.SignDetail
                             from i in LinqDBContext.MaintenanceOrgInfo
                             where g.MaintenanceId == i.MaintenanceId && i.cSignID == h.cSignID && h.tiSysType == d.tiSysType
                             && h.siteid == a.siteid && i.ReviewState == "已签约"
                             select new { g.UnitName }
                             ).First().UnitName,
                            IsEdit = SelectedCompanyID == null ? (orgid == c.DealCompanyId ? "是" : "否") : (Mid == c.DealCompanyId ? "是" : "否")
                        }).ToList();

                dx = dx.Where(x => x.HandingState == HandingState).ToList();
                if (!string.IsNullOrEmpty(StartTime))
                {
                    dx = dx.Where(x => x.wbRepairTime > Convert.ToDateTime(StartTime)).ToList();
                }
                if (!string.IsNullOrEmpty(EndTime))
                {
                    dx = dx.Where(x => x.wbRepairTime < Convert.ToDateTime(EndTime + " 23:59:59")).ToList();
                }
                if (!string.IsNullOrEmpty(SelectedCompanyID))
                {
                    dx = dx.Where(x=>x.UnitName==MName).ToList();
                }
                for (int i = 0; i < dx.Count; i++)
                {
                    AllList.Add(dx);
                }

            }



引用:
原帖由 wx58f9d3bfb5a36 于 2018-1-8 11:24 发表

大神 请问 我怎么写出来查询出来 一个属性都会显示两次啊?
检查一下你的查询是否错误。

要吗结果合并,要么合并之前一次性查询出来。这2个都是解决办法。



‹‹ 上一贴:用C# 写一个神经网络,需要准备哪些? ...   |   下一贴:mvc5教程|ASP.NET MVC5框架剖析与案例解析 ››
  发新话题
快速回复主题
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 友情链接 |意见反馈 | 网站地图
Copyright©2005-2018 51CTO.COM
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系:bbs@51cto.com