Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
linq组合列搜索_Linq - Fatal编程技术网

linq组合列搜索

linq组合列搜索,linq,Linq,我想搜索两列组合等于参数的记录,为什么它不起作用 public RDCheck SearchByUserPlusId(string uid) { RDCheckDataContext dc = new RDCheckDataContext(_connString); var query = (from r in dc.RDChecks where (r.login + r.id).E

我想搜索两列组合等于参数的记录,为什么它不起作用

public RDCheck SearchByUserPlusId(string uid)
        {
            RDCheckDataContext dc = new RDCheckDataContext(_connString);
            var query = (from r in dc.RDChecks
                         where (r.login + r.id).Equals(uid)
                         select r).FirstOrDefault();
            return query;
        }
例如,表中的一条记录是 id:4/登录:测试 所以我传递参数uid=test4,但它返回null,为什么?

在连接之前使用
ToString()

public RDCheck SearchByUserPlusId(string uid)
{
       RDCheckDataContext dc = new RDCheckDataContext(_connString);
       var query = (from r in dc.RDChecks
                    where (r.login.ToString() + r.id.ToString()).Equals(uid)
                    select r).FirstOrDefault();
       return query;
}

你能说出数据库中
id
login
的类型吗?你有没有尝试
(r.login.toString()+r.id.toString()).Equals(uid)
?我知道了。必须在每列末尾添加Trim()。但是谢谢你,伙计,你的想法也很棒。Trim没有太多意义。@Daniel Hilgarth他只是没有仔细检查他的数据库,“
test
”。如果值真的是
test
4
,没有空格…@Magnus伙计们,他修剪这个
(r.login+r.id)
,并且使用像
((r.login+r.id).Trim()).Equals(uid)
。你们这些家伙想得很专业,但Steven不知道他的错误在他的数据库中,我认为他不应该允许
id
login
在其中有空格。如果
id
int
它永远不会是空字符串(无需修剪)。如果登录名为
char
,则可以执行以下操作:
login?“”:“”:login.ToString()