对不起标题,我只是不知道如何想出一个定义明确的标题。但无论如何,我只需要向你解释我的问题。
我做了一个查询,将查找由其全名指定的某个学生。
SQL 版本:
SELECT * FROM Student as s WHERE concat(s.lastname,', ',s.firstname,' ',s.middlename) = myvalue
我已经尝试了很多次,已经使用 string.concat 和 string.join 将其转换为 linq 查询,但它给了我一个错误:
LINQ to Entities 无法识别方法 'System.String Concat(System.Object[])' 方法,并且此方法无法转换为存储表达式。
也许有人可以帮忙。谢谢!
学生:
public class Student{
public int StudentID { get; set; }
public string Firstname { get; set; }
public string Middlename { get; set; }
public string Lastname { get; set; }
public ...
}
我的 linq 查询:
public void FindStudent(string fullname){
using(MyContext _ctx = new MyContext()){
var _query = from stud in _ctx.Student
where string.concat(stud.Lastname.Trim(),' ',stud.Firstname.Trim(),' ',stud.Middlename.Trim()) == fullname
select new{
StudentID = stud.StudentID,
Firstname = stud.Firstname,
Middlename = stud.Middlename,
Lastname = stud.Lastname
}
}
}