如何在Entity Framework Query中连接字符串

时间:2013-11-27 07:35:33

标签: entity-framework entity-framework-4 linq-to-entities entity-framework-5

我想在Entity框架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; }

}

请帮帮我。提前谢谢。

2 个答案:

答案 0 :(得分:2)

EF 6 中,您需要使用 System.Data.Entity.SqlServer.SqlFunctions (不是先前版本中使用的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


};

我在这里使用长名称来强调。在之前的项目中,您只需更换包含。同样,当尝试执行 StringConvert 或其他SQL函数时,这适用于 Entity Framework 6

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

答案 1 :(得分:0)

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

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