我有2个表1个遗留成员表,它有一个guid成员ID和一个新的group表,它有一个guid的字符串
我想使用linq加入这些表,但我遇到了连接问题
q = guid字符串
var member = (from m in db.Members
join g in db.Groups
on m.memberid equals g.UserId
where g.GroupId == q
select new { id = g.UserId, name = m.firstname + " " + m.lastname }
).ToList();
上述尝试将memberid与userid
进行比较时编译失败这不会返回值
var member = (from m in db.Members.ToList()
join g in db.Groups
on m.memberid.ToString() equals g.UserId
where g.GroupId == q
select new { id = g.UserId, name = m.firstname + " " + m.lastname }
).ToList();
有谁知道怎么做?
答案 0 :(得分:0)
对于第一个,我猜你的memberid
是Guid
而UserId
是string
,这就是为什么它会给你一个编译错误。
第二个,我猜你的UserId
与它给出的memberid
值并不完全匹配。仔细检查旧版数据库中的UserId
或其中的任何一个,实际上是否匹配Guid
值。它可能没有-
,它正在尝试比较它,这将不匹配。