跨多列搜索功能

时间:2015-06-18 13:09:39

标签: c# asp.net-mvc linq

我需要搜索我正在构建的新网站。我需要搜索的一些列是int,有些是字符串。

public ActionResult Index(string id)
{
    if (!String.IsNullOrEmpty(id))
    {
        var results = db.Properties.Where(x => x.Address.Contains(id)
            || x.Address2.Contains(id)
            || x.City.Contains(id)
            || x.Description.Contains(id)
            || x.GrossLeasableArea.Contains(id) <-- this is an int
            ...

那么,对不同类型的列进行两次单独搜索然后加入结果会更好吗?还是有其他方法可以满足这种需求吗?

1 个答案:

答案 0 :(得分:1)

我想主要的问题是,应该如何与数字列匹配?例如,如果列具有“123”并且“2”应该匹配它,那么您基本上将列视为字符串而不是数字。

在这种情况下,只需将其视为字符串:

|| x.GrossLeasableArea.ToString().Contains(id)