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

问题描述

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

解决方案

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

解决方案二:

这代码写的该有多臭,哥们都看看书吧

时间: 2024-07-30 23:43:17

linq语句优化(各位仔细看一下)的相关文章

SQL语句优化

前一段时间一直在优化系统,看了一些关于SQL语句优化的东西,在这里分享一下. 1.统一SQL语句的写法 对于以下两句SQL语句,程序员认为是相同的,数据库查询优化器认为是不同的. select*from dual select*From dual 其实就是大小写不同,查询分析器就认为是两句不同的SQL语句,必须进行两次解析.生成2个执行计划.所以作为程序员,应该保证相同的查询语句在任何地方都一致,多一个空格都不行! 2.使用"临时表"暂存中间结果 简化SQL语句的重要方法就是采用临时表

sql语句优化之SQL Server(详细整理)_MsSql

MS SQL Server查询优化方法 查询速度慢的原因很多,常见如下几种 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必要的行和列 10.查询语句不好,

[20151221]sql语句优化.txt

[20151221]sql语句优化.txt --自从发现开发乱用distinct以后,链接http://blog.itpub.net/267265/viewspace-1871989/ --我看sql语句特别注意连接多个表,但是显示仅仅一个表的情况,上个星期五,发现一条: sql_id=dpdk3xfd6cvky SELECT EMR_DJMX.ZSFL     FROM MS_YJ01, L_LIS_SQDMX, EMR_DJMX    WHERE     MS_YJ01.YJXH IN (

基于索引的SQL语句优化之降龙十八掌

  From:www.oracle.com.cn 基于索引的SQL语句优化之降龙十八掌 1        前言        2 2        总纲        2 3        降龙十八掌        3第一掌避免对列的操作        3第二掌避免不必要的类型转换        4第三掌增加查询的范围限制        4第四掌尽量去掉"IN"."OR"        4第五掌尽量去掉 "<>"        5第六

javascript教程:关于if语句优化的方法

文章简介:UglifyJS是一个对javascript进行压缩和美化的工具,在它的文档说明中,我看到了几种关于if语句优化的方法.尽管我还没使用它去做一些尝试性的测试,但从这里可以看到它的确对js作了美化的工作.也许有人认为if语句就那么简单,能优化到什么程度? UglifyJS是一个对javascript进行压缩和美化的工具,在它的文档说明中,我看到了几种关于if语句优化的方法.尽管我还没使用它去做一些尝试性的测试,但从这里可以看到它的确对js作了美化的工作.也许有人认为if语句就那么简单,能

javascript关于if语句优化的方法

UglifyJS是一个对javascript进行压缩和美化的工具,在它的文档说明中,我看到了几种关于if语句优化的方法.尽管我还没使用它去做一些尝试性的测试,但从这里可以看到它的确对js作了美化的工作.也许有人认为if语句就那么简单,能优化到什么程度?但是看看以下的几种方式,你也许会改变看法. 一.使用常见的三元操作符 if (foo) bar(); else baz(); ==> foo?bar():baz(); if (!foo) bar(); else baz(); ==> foo?ba

javascript教程:关于if简写语句优化的方法_javascript技巧

UglifyJS是一个对javascript进行压缩和美化的工具,在它的文档说明中,我看到了几种关于if语句优化的方法.尽管我还没使用它去做一些尝试性的测试,但从这里可以看到它的确对js作了美化的工作.也许有人认为if语句就那么简单,能优化到什么程度?但是看看以下的几种方式,你也许会改变看法. 一.使用常见的三元操作符 if (foo) bar(); else baz(); ==> foo?bar():baz();if (!foo) bar(); else baz(); ==> foo?baz

select-sql 语句优化,求帮忙

问题描述 sql 语句优化,求帮忙 Select t9.Product_IDa.Product_Namea.Product_BuyNum b.Org_Price b.Sale_Price c.Img_Small c.Img_Middleisnull((select SubShop_Price from subshop_product where subshop_id=1057 and product_id=a.product_id)b.Sug_Price) as SubShop_Price b.

select-oracle sql查询语句优化

问题描述 oracle sql查询语句优化 select moni.p_code,moni.department,moni.monitorserialno,moni.adminname,moni.buildingname from t_monitorroom moni where moni.p_code in (select roleauth.monitorroomid from t_monitorroom_role_authority roleauth left join t_monitorr