将 SQL 代码转换为 linq (LIKE, SELECT)

Convert SQL code to linq (LIKE, SELECT)

如何使用 linq 执行以下 sql 代码?

SQL;

   SELECT BusinessEntityID, FirstName + ' ' + LastName AS "FullName" 
FROM Person WHERE FullName LIKE  'a%'

LINQ;

 using(var db= new db_Context)
 {
      var query = db.Person.Select(q=> q.FirstName  + " "+ q=>q.FullName)
 }

连接字符串后搜索不是一个好主意。我建议分别搜索名字和姓氏

var query = db.Person.Where (t => t.FirstName.StartsWith("a") || t.LastName.StartsWith("a") )
                     .Select(q=> new { q.BusinessEntityID, Fullname = q.FirstName  + " " + q.LastName })

以下代码会对您有所帮助,

var list1 =  db.Person.Where (t => t.FirstName.StartsWith("a"))
                     .Select(q=> new { 
                             BusinessEntityID = q.BusinessEntityID, 
                             Fullname = q.FirstName + " " + q.LastName 
                      });

var list2 = from psn in db.Person
            where psn.FirstName.StartsWith("a")
            select new {
                  BusinessEntityID = psn.BusinessEntityID, 
                  Fullname = psn.FirstName + " " + psn.LastName 
            };