2013-03-22 28 views
0

我想我已经通过了stackoverflow上的每个示例,并且我错过了对我的问题至关重要的一些事情。使用Linq加入两个唯一标识符

我试图加入两个字段类型为“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>(); 

我收到以下错误就加入“之类的表述之一的连接语句是不正确的类型推断未能将呼叫转接至‘加入’ “。

感谢您的协助。

回答

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是去工作,查询是选择一个布尔值。

+0

你是对的,它是UserId,它不喜欢SingleOrDefault。谢谢 – jmgibbo 2013-03-23 10:30:03