我想在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; }
}
请帮帮我。提前谢谢。
答案 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