2012-11-25 58 views
1

我需要来自2个不同数据库的数据。我曾尝试以下由于类型不匹配导致LINQ加入失败

var User = (from U in _db.TblUsers 
         where U.IsAdmin == false 
         select U).ToList(); 

var AspNewsUser = (from A in _dbAspNet.aspnet_Users       
        select A).ToList(); 


var result = (from U in User 
       join A in AspNewsUser 
       on U.UserID equals A.UserId 
       select U); 

,但我得到了以下错误消息

联接子句中的类型的表达式之一的不正确。 对“加入”的调用中,类型推断失败。

+0

'UserId'是否可以为空? – 2kay

+0

不,它不是可空的。 –

+0

在这两个集合中UserId都有不同的类型。先检查一下。 –

回答

0

使用投影,让他们在同一匿名类型。

var Users = (from U in _db.TblUsers 
        where U.IsAdmin == false 
        select new { UserID = U.UserID }).ToList(); 

    var AspNewsUsers = (from A in _dbAspNet.aspnet_Users       
        select new { UserID = A.UserID }).ToList(); 


    var result = (from i in Users join o in AspNewUsers on i.UserID equals o.UserID).ToList(); 
+2

Concat!=加入。 – usr

相关问题