0

我想在實體框架6中執行以下查詢。雖然我試圖將整數字段轉換爲字符串,但它沒有解決。如何在實體框架中連接字符串查詢

using (var context = new HospitalEntities()) 
      { 
       var ibed = from u in context.Employee 
          where u.EmployeeId == employeeId 
           select new 
           { 
            _empId = u.EmployeeId, 
            _name =Convert.ToString(u.Code) + u.EmployeeName 


           }; 

模型類:

public class Employee 
{ 

    public int EmployeeId { get; set; } 
    public int Code { get; set; } 
    public string EmployeeName { get; set; } 

} 

請幫助我。提前致謝。

回答

0

使用System.Data.Objects.SqlClient.SqlFunctions.StringConvert

_name =SqlFunctions.StringConvert((double)u.Code) + u.EmployeeName 
2

EF 6你需要使用System.Data.Entity.SqlServer.SqlFunctions這是在以前的版本中使用(NOT System.Data.Objects.SqlClient.SqlFunctions )

using (var context = new HospitalEntities()) 
{ 
var ibed = from u in context.Employee 
where u.EmployeeId == employeeId 
select new 
{ 
     _empId = u.EmployeeId, 
     _name = System.Data.Entity.SqlServer.SqlFunctions.StringConvert((int?) u.Code) + u.EmployeeName 


}; 

我在這裏使用長名稱來強調。在之前的項目中,您只需更換包含。再次,這是實體框架6當試圖做StringConvert或其他SQL函數。

//using System.Data.Objects.SqlClient; 
using System.Data.Entity.SqlServer; 
+1

從EF 6.1開始(http://blogs.msdn.com/b/adonet/archive/2014/03/17/ef6-1-0-rtm-available.aspx)您現在可以連接任何原始類型..例如entity.MyInt + entity.MyStr +「你好」,它會工作。 –

相關問題