var search = (from c in db.**
where c.first_name == txtbox.Text || Convert.ToInt32(c.id = txtbox.Text)
select new
{
ID = c.ID,
FullName = c.name,
FirstName = c.first,
LastName = c.last
});
如果输入了名称,或者他们决定使用ID然后按ID搜索,我试图使用文本框在数据库中搜索名称。当我尝试它时,看到正在使用一个字母并且它正试图找到一个数字。
我也想这样说我在文本框中输入“A”我想搜索名字中有“A”的所有人。
任何帮助都会非常棒。
答案 0 :(得分:1)
尝试这样的事情:
var searchText = txtbox.Text.Trim();
var searchForId = false;
int id;
if(int.TryParse(searchText, out id)){
searchForId = true;
}
var search = (from c in db.**
where
c.first_name.Contains(searchText)
|| searchForId && c.id == id
select new
{
ID = c.ID,
FullName = c.name,
FirstName = c.first,
LastName = c.last
});
答案 1 :(得分:0)
你想要做的是包含不相等的发现我希望它有助于How to do SQL Like % in Linq?。