尝试搜索结果表,在相关列上获取错误

时间:2014-01-28 16:25:53

标签: sql-server asp.net-mvc

我正在尝试使用搜索字符串来搜索表中的一堆列,但是当我在控制器中添加搜索条件时,包含相关数据(虚拟)的列会给出错误“int not not包含ToUpper的定义让我相信我正在搜索fk列,而不是人类友好的相关专栏。有关我如何解决这个问题的任何想法?(请温柔,我是新来的,这是我的第一个问题在这里;))

我正在使用ASP.NET MVC 5 fwiw ....下面的代码片段

        var machines = db.Machines.Include(v => v.Location).Include(v => v.Technician).Include(v => v.MachineStatu).Include(v => v.MachineTransportStatu).Include(v => v.Municipality);

        if (!String.IsNullOrEmpty(searchString))
        {
            machines = machines.Where(s => s.MachineBarcode.ToUpper().Contains(searchString.ToUpper())
                                   || s.MachineStatus.ToUpper().Contains(searchString.ToUpper())
                                   || s.MachineMake.ToUpper().Contains(searchString.ToUpper())
                                   || s.MachineModel.ToUpper().Contains(searchString.ToUpper())
                                   || s.MachineTransportStatus.ToUpper().Contains(searchString.ToUpper())
                                   || s.Location.ToUpper().Contains(searchString.ToUpper())
                                   || s.Municipality.ToUpper().Contains(searchString.ToUpper())
                                   || s.Technician.ToUpper().Contains(searchString.ToUpper()));

        }

1 个答案:

答案 0 :(得分:0)

首先欢迎来到stackoverflow:)

并且正如错误所说,“int不包含ToUpper的定义”我猜你正在犯一个简单的错误并试图调用一个实际上属于字符串对象而不是整数对象的函数。所以,只需找到该列,不要为该列使用ToUpper。