Linq选择不同的列

标签 linq

我想根据某些变量选择不同的列

而不是做这样的事情

if(selectLastName)
   var res = from e in ctx.Employees
             select new {e.FirstName, e.LastName};
else
   var res = from e in ctx.Employees
             select new {e.FirstName}

我怎样才能重写这个?

最佳答案

这只是对马克答案的修改,其中类型中总是有姓氏,但您并不总是从数据库中提取值。我本来会把它写成对他的答案的评论,但评论中没有代码格式。

ctx.Employees.Select(e => new {
FirstName = e.FirstName,
LastName = selectLastName ? e.LastName : null
});

关于Linq选择不同的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1765898/

相关文章:

c# - 排程优化

c# - 在 Linq 中选择子集

asp.net-mvc - 如何使用 Entity Framework 返回查询的部分结果和总计数?

c# - 如果指定的子值为 NULL,则显示父值

c# - JContainer、JObject、JToken和Linq混淆

c# - 使用 LINQ 创建用于制图的年度汇总系列

c# - 在表达式树中调用实例方法的最佳方式?

.net - LINQ - 动态 orderby 子句不起作用

c# - 从 List<OtherObject> 创建 List<CustomObject>,删除重复项。

c# - 完整组满足条件的 LINQ 查询