Linq 1字母搜索和搜索数字

时间:2013-11-27 15:31:28

标签: c# asp.net linq

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”的所有人。

任何帮助都会非常棒。

2 个答案:

答案 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?