2011-10-18 57 views
4

我有以下查询,Linq中给出具体的名字列

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查询中所做的那样:

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

我该如何在linq中实现这个任务?

感谢

回答

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 }; 
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};