linq orderby查询if语句中的内容

戴夫·巴尼特(Dave Barnett)

我正在尝试做一些基本上说要搜索的代码,如果orderByLastName是按姓氏排序的真顺序,如果是按名字假顺序的话。

if(orderByLastName)
{
    var query = from p in db.People
                orderby p.LastName
                select new {Name = p.FirstName + " " + p.LastName}
}
else
{
     var query = from p in db.People
                orderby p.FirstName
                select new {Name = p.FirstName + " " + p.LastName}
}

上面的代码是我为实现这一目标所做的尝试。它不起作用,因为查询在if上下文之外不存在,这显然是很糟糕的!而且我很确定代码违反了干原则。有人可以看到更好的方法吗?谢谢。

德米特里·扎兹(Dmitry Zaets)

您可以根据需要在IQueryable集合上运行任意数量的查询,所有查询都将在将首先转换为IEnumerable的位置执行。

var query = db.People;    
if(orderByLastName)
{
     query  = query.OrderBy(t=>t.LastName)
}
else
{
     query  = query.OrderBy(t=>t.FirstName)
}
var result = query.Select(t=> new {Name = t.FirstName + " " + t.LastName});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

LINQ语句中的串联

来自分类Dev

LINQ语句中的错误

来自分类Dev

RavenDB Linq查询在“选择”之后忽略“ Where”和“ OrderBy”语句

来自分类Dev

Linq查询到orderby

来自分类Dev

OrderBy列表LINQ查询

来自分类Dev

在Include语句中使用Where子句的Linq查询

来自分类Dev

选择语句中的linq条件

来自分类Dev

.include()在linq语句中的位置?

来自分类Dev

将表达式插入LINQ语句的LINQ语句中

来自分类Dev

在LINQ中转换OrderBy Case语句

来自分类Dev

我如何处理此linq查询,并将其与if语句中的int进行比较?

来自分类Dev

C#如何使用查询语法在Linq select语句中使用变量

来自分类Dev

我如何处理此linq查询,并将其与if语句中的int进行比较?

来自分类Dev

如何将 if-else 混合到 linq 查询语法语句中

来自分类Dev

linq查询和选择语句

来自分类Dev

LINQ Select语句中的条件数学

来自分类Dev

在LINQ中的select语句中执行计算

来自分类Dev

LINQ的WHERE子句中的IF ELSE语句

来自分类Dev

在linq语句中重用选择新对象

来自分类Dev

在linq语句中接收当前比较的索引

来自分类Dev

LINQ中where语句中的多个条件

来自分类Dev

使用booleans的多重orderby linq查询

来自分类Dev

在where子句中构建动态linq查询

来自分类Dev

在where子句中构建动态linq查询

来自分类Dev

LINQ查询中的if语句在哪里

来自分类Dev

LINQ语句生成的查询与LinqPad不同

来自分类Dev

使用linq group by语句作为子查询

来自分类Dev

Linq查询-不存在语句

来自分类Dev

在Linq查询中使用条件if语句