__learner 2015-08-13 01:24 采纳率: 0%
浏览 2045
已结题

linq语句优化(各位仔细看一下)

#region linq方式(待优化)
if (RoleTyp == 3)//大农户
{
if (IsClosed == 0)//进行中
{
IList demandList =
(from d in dbContext.T_FARMER_PUBLISHED_DEMAND
join u in dbContext.T_USER
on d.CreateUserId equals u.Id
join s in dbContext.T_SYS_DICTIONARY on d.DemandTypeId equals s.Code
where d.PublishStateId == 0
orderby d.CreateTime descending
select new PublishedDemandRepositoryModel
{
Name = s.DisplayName,
PublishedDate = d.CreateTime,
Status = d.PublishStateId,
Address = d.Province + "" + d.City + "" + d.Region + "" + d.Township + "" + d.Village,
DetailAddress = d.DetailedAddress,
RequirementType = s.DisplayName,
PhoneNumber = u.PhoneNumber,
Remark = d.Brief
}).Skip((PageIndex - 1) * PageSize).Take(PageSize).ToList();
return demandList;
}
else//已关闭
{
IList demandList = (from d in dbContext.T_FARMER_PUBLISHED_DEMAND
join u in dbContext.T_USER
on d.CreateUserId equals u.Id
join s in dbContext.T_SYS_DICTIONARY on d.DemandTypeId equals s.Code
where d.PublishStateId != 0
orderby d.CreateTime descending
select new PublishedDemandRepositoryModel
{
Name = s.DisplayName,
PublishedDate = d.CreateTime,
Status = d.PublishStateId,
Address = d.Province + "" + d.City + "" + d.Region + "" + d.Township + "" + d.Village,
DetailAddress = d.DetailedAddress,
RequirementType = s.DisplayName,
PhoneNumber = u.PhoneNumber,
Remark = d.Brief
}).Skip((PageIndex - 1) * PageSize).Take(PageSize).ToList();
return demandList;
}

            }
            else if (RoleTyp == 5) //产业商
            {
                if (IsClosed == 0)//进行中
                {
                    IList<PublishedDemandRepositoryModel> demandList =
                        (from d in dbContext.T_BUSINESS_PUBLISHED_DEMAND
                         join u in dbContext.T_USER
                             on d.CreateUserId equals u.Id
                         join s in dbContext.T_SYS_DICTIONARY on d.DemandTypeId equals s.Code
                         where d.PublishStateId == 0
                         orderby d.CreateTime descending
                         select new PublishedDemandRepositoryModel
                         {
                             Name = s.DisplayName,
                             PublishedDate = d.CreateTime,
                             Status = d.PublishStateId,
                             Address = d.Province + "" + d.City + "" + d.Region + "" + d.Township + "" + d.Village,
                             DetailAddress = d.DetailedAddress,
                             RequirementType = s.DisplayName,
                             PhoneNumber = u.PhoneNumber,
                             Remark = d.Brief
                         }).Skip((PageIndex - 1) * PageSize).Take(PageSize).ToList();
                    return demandList;
                }
                else//已关闭
                {
                    IList<PublishedDemandRepositoryModel> demandList = (from d in dbContext.T_BUSINESS_PUBLISHED_DEMAND
                                                                        join u in dbContext.T_USER
                                                                        on d.CreateUserId equals u.Id
                                                                        join s in dbContext.T_SYS_DICTIONARY on d.DemandTypeId equals s.Code
                                                                        where d.PublishStateId !=0
                                                                        orderby d.CreateTime descending
                                                                        select new PublishedDemandRepositoryModel
                                                                        {
                                                                            Name = s.DisplayName,
                                                                            PublishedDate = d.CreateTime,
                                                                            Status = d.PublishStateId,
                                                                            Address = d.Province + "" + d.City + "" + d.Region + "" + d.Township + "" + d.Village,
                                                                            DetailAddress = d.DetailedAddress,
                                                                            RequirementType = s.DisplayName,
                                                                            PhoneNumber = u.PhoneNumber,
                                                                            Remark = d.Brief
                                                                        }).Skip((PageIndex - 1) * PageSize).Take(PageSize).ToList();
                    return demandList;
                }

            }
            else
            {
                return null;
            }
            #endregion
  • 写回答

2条回答 默认 最新

  • 残缺丶 2015-08-13 03:35
    关注

    别人写的代码,仔细看几遍也看不懂~~~~不熟悉你的业务,何况这么多代码,看都看晕了啊!

    评论

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮