我想我已经浏览了stackoverflow上的每个例子,而且我遗漏了一些问题的根本原因。
我正在尝试加入两个类型为“uniqueidentifier”的字段。
以下是我的代码:
var s = (from d in db.aspnet_Memberships
join u in db.Merchants on d.aspnet_User equals u.aspnet_UserID
where u.MerchantID == MerchantID
select d.IsApproved).SingleOrDefault<System.String>();
我在连接上遇到以下错误“join子句中某个表达式的类型不正确。在对'Join'的调用中类型推断失败。”
感谢您的帮助。
答案 0 :(得分:2)
看起来你正试图加入错误的东西。 aspnet_User不是一张桌子吗?
尝试:
var s = (from d in db.aspnet_Memberships
join u in db.Merchants on d.UserId equals u.aspnet_UserID
where u.MerchantID == MerchantID
select d.IsApproved).SingleOrDefault<System.String>();
或者:
var s = (from d in db.aspnet_Memberships
join u in db.Merchants on d.aspnet_User.UserId equals u.aspnet_UserID
where u.MerchantID == MerchantID
select d.IsApproved).SingleOrDefault<System.String>();
另外,我不认为.SingleOrDefault会起作用,查询正在选择一个bool。