如何在c#linq查询中为同一列分配整数值+字符串值

时间:2017-03-22 09:33:39

标签: c# linq

当我将值分配给字符串列时,

String + Int + String不起作用   - >我需要名称列值,如:

  

AS Project员工ID:1878员工姓名:Kevin dominic ..

select new
        {
            ID = AS_ProjectHeader.ID,
            PartyID = AS_ProjectHeader.PartyID,
            Name = AS_ProjectHeader.Name + "  Employee ID: " + AS_ProjectHeader.EmployeeID + " Employee Name:" + AS_ProjectHeader.PAYE_Employee.Forenames + " " + AS_ProjectHeader.PAYE_Employee.Surname,
            ClientName = AS_ProjectHeader.AS_PartyList.Name,
            StartDate = AS_ProjectHeader.StartDate,
            EndDate = AS_ProjectHeader.EndDate,

        });

编辑:补充信息:

如果我使用convert to string作为整数值,我会收到此错误:

  

LINQ to Entities无法识别方法' System.String ToString()'方法,并且此方法无法转换为商店表达式。

3 个答案:

答案 0 :(得分:0)

您可以轻松使用<select name="is_format" id="is_format"> <option value="A4">{l s='A4'}</option> <option value="A3">{l s='A3'}</option> </select> <select name="is_color" id="is_color"> <option value="Couleur" selected>{l s='Couleur'}</option> <option value="Noir/Blanc">{l s='Noir et Blanc'}</option> </select>
但要小心,你不能在.ToString()查询中使用textBox1.Text之类的控件

答案 1 :(得分:0)

以下内容仅在使用早于6.1的EF版

时才有效

Linq-To-Entities实际上不支持ToString

您必须首先实现查询(ToList()),然后选择您想要的内容。

所以,让我们说query就是你所拥有的。

query.ToList().Select(AS_ProjectHeader =>
{
    ID = AS_ProjectHeader.ID,
    PartyID = AS_ProjectHeader.PartyID,
    Name = AS_ProjectHeader.Name 
           + "  Employee ID: " + AS_ProjectHeader.EmployeeID 
           + " Employee Name:" + AS_ProjectHeader.PAYE_Employee.Forenames + " " 
                               + AS_ProjectHeader.PAYE_Employee.Surname,
    ClientName = AS_ProjectHeader.AS_PartyList.Name,
    StartDate = AS_ProjectHeader.StartDate,
    EndDate = AS_ProjectHeader.EndDate,
}   

答案 2 :(得分:0)

请使用 SqlFunctions.StringConvert ,它会起作用

Name = PSC_ProjectHeader.Name +&#34;员工ID:&#34; + SqlFunctions.StringConvert((十进制)PSC_ProjectHeader.EmployeeID)                             +&#34;员工姓名:&#34; + PSC_ProjectHeader.PAYE_Employee.Forenames +&#34; &#34; + PSC_ProjectHeader.PAYE_Employee.Surname,