为Linq中的列指定一个特定名称

gha*_*ani 4 c# linq vb.net asp.net

我有以下查询,

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};
Run Code Online (Sandbox Code Playgroud)

我想给emp.me_first_name列指定一个特定的名称,就像我们在SQL查询中所做的那样:

select emp_first_Name as "First Name" from me_employees
Run Code Online (Sandbox Code Playgroud)

如何在linq查询中执行此操作???

也可以在Linq的select查询中组合firstName和lastname吗?就像我们在SQL查询中所做的那样:

select me_first_name + ' ' + me_last_name as 'Full Name' from me_employee
Run Code Online (Sandbox Code Playgroud)

我怎样才能在linq中完成这项任务?

谢谢

Jon*_*eet 6

您无法创建它First Name,因为它不是有效的标识符,但您可以使用:

select new { FirstName = emp.me_first_name,
             LastName = emp.me_last_name,
             Key = emp.me_pkey };
Run Code Online (Sandbox Code Playgroud)

基本上,匿名类型中的属性名称默认为您使用的任何属性作为值 - 您可以自己指定它,但它必须是有效的C#标识符.

或者组合:

select new { FullName = emp.me_first_name + " " + emp.me_last_name,
             Key = emp.me_pkey };
Run Code Online (Sandbox Code Playgroud)