如何解决在LINQ to SQL中搜索两列?
| 我试图在Visual Studio中使用LINQ to sql做一个简单的搜索方法。在我的数据库中,我有“ \ Firstname \”和\“ Lastname \”字段,而我的搜索字符串是“ \ name \”。我怎样做一个简单的查询两个字段的LINQ查询? 在普通的sql中,我将执行以下操作:SELECT (Firstname + Lastname) as \'Fullname\'
FROM table
WHERE Fullname LIKE \'%searchstring%\'
解决方法
通常要做的是:
var users =
from user in db.Users
where user.FirstName.Contains(searchString) ||
user.LastName.Contains(searchString)
select user;
但是,这不等同于您的SQL查询。以下是等效的:
var users =
from user in db.Users
let fullName = user.FirstName + user.LastName
where fullName.Contains(searchString)
select user;
,var result = from p in db.Table
let fullname = p.FirstName + \" \" + p.Lastname
where fullname.Contains(searchString)
select new { Fullname = fullname };
,// get all items from table where firstname like searchstring or lastname like searchstring
var result = from p in db.Table
where (p.Firstname.Contains(searchString) || p.Lastname.Contains(searchString))
select p;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。