在 Linq 中给列指定具体名称

4

我有以下查询:

var employees = from emp in this.DataWorkspace.v2oneboxData.me_employees
                where emp.me_is_deleted.Value == false && emp.me_is_manager == true
                select new{emp.me_first_name,emp.me_last_name,emp.me_pkey};

我希望给emp.me_first_name字段指定一个特定的名称,就像我们在SQL查询中做的那样:

select emp_first_Name as "First Name" from me_employees

如何在linq查询中执行它?

在Linq的select查询中是否可以结合firstName和lastname?就像我们在SQL Queries中所做的那样:

select me_first_name + ' ' + me_last_name as 'Full Name' from me_employee

我该如何在LINQ中完成这个任务?

谢谢。

3个回答

6

您不能将其命名为First Name,因为它不是一个有效的标识符,但您可以使用以下方式:

select new { FirstName = emp.me_first_name,
             LastName = emp.me_last_name,
             Key = emp.me_pkey };

基本上匿名类型中的属性名称只会默认为你使用作为值的属性 - 你可以自己指定,但必须是一个有效的 C# 标识符。

或者针对组合情况:

select new { FullName = emp.me_first_name + " " + emp.me_last_name,
             Key = emp.me_pkey };

4

2
from emp in this.DataWorkspace.v2oneboxData.me_employees
where emp.me_is_deleted.Value == false && emp.me_is_manager == true
select new{FullName = String.Format("{0} {1}",emp.me_first_name, emp.me_last_name),emp.me_pkey};

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接