Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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
C# 将fk_id与linq中的id进行比较_C#_Asp.net_Linq - Fatal编程技术网

C# 将fk_id与linq中的id进行比较

C# 将fk_id与linq中的id进行比较,c#,asp.net,linq,C#,Asp.net,Linq,想要比较两个ID,如果它们相同,只取这些行并发送它们,这样我就可以打印出来 public IList<tbl_user> getLastc() { var fk_id = (from m in dc.tbl_checkins orderby m.checkin_datetime descending select m.fk_user_id).Take(1); var result = (from c in dc.tbl_users

想要比较两个ID,如果它们相同,只取这些行并发送它们,这样我就可以打印出来

public IList<tbl_user> getLastc()
{

    var fk_id = (from m in dc.tbl_checkins orderby m.checkin_datetime descending select m.fk_user_id).Take(1);

    var result = (from c in dc.tbl_users
                 where c.user_id.Equals(fk_id)
                 select c).ToList();
        /*(from m in dc.tbl_users where m.user_id == fk_id select m).ToList();*/

    return result;
}
错误:
该类型不支持比较运算符

System.Linq.IQueryable1[System.Nullable1[System.Int32]]

在m.user_id==fk_id中,其中一个变量是可为null的int,因此如果要比较它们,请执行以下操作

m.user_id!=null && user_id.Value==fk_id
它将首先检查值是否不为null,然后将其值与其他值进行比较。可为Null的值还有一个属性HasValue,您可以使用它来确定变量是否有值:

m.user_id.HasValue && user_id.Value==fk_id
注意:如果fk_id可为null int,则使用m.user_id更改它。错误并没有说明哪个可为null int

编辑:

这就是它的适用范围:

(from m in 
dc.tbl_users where fk_id.HasValue && fk_id.Value==m.user_id select m).ToList()
编辑2:

var fk_ids = (from m in dc.tbl_checkins orderby m.checkin_datetime descending select m.fk_user_id).Where(x=>x.HasValue).Select(x=>x.Value);

(from m in 
dc.tbl_users where fk_ids.Contains(m.user_id) select m).ToList()

@如果有的话:“你是那种类型的人”before@w0lf错误后附加了一些非英语文本,我将其删除。类型,-Google Translator不支持比较运算符。这是丢失错误的翻译版本。@user3060452哪个值可以为空?也许fk_id是可以为空的,你应该像我在回答中建议的那样反转它?查看我的编辑我需要将其强制转换为int var fk_id=from m in dc.tbl_checkins orderby m.checkin_datetime降序选择m.fk_user_id.Take1;但是怎么做?@user3060452 var fk_id=从dc.tbl_checkins orderby m.checkin_datetime降序选择m.fk_user_id;用它,汉克斯,你帮了我很多@用户3060452没问题: