C# 由于类型不匹配,LINQ联接失败
我需要来自2个不同数据库的数据。我试过以下方法C# 由于类型不匹配,LINQ联接失败,c#,linq,linq-to-sql,linq-to-objects,C#,Linq,Linq To Sql,Linq To Objects,我需要来自2个不同数据库的数据。我试过以下方法 var User = (from U in _db.TblUsers where U.IsAdmin == false select U).ToList(); var AspNewsUser = (from A in _dbAspNet.aspnet_Users se
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);
但是我得到了下面的错误消息
join子句中某个表达式的类型不正确。
调用“Join”时类型推断失败
使用投影,使它们成为相同的匿名类型
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();
使用投影,使它们成为相同的匿名类型
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();
正如您在中所看到的,
Userid
是一个(映射到实体框架中的GUID)。我打赌TblUsers.UserID
具有不同的类型(如int
)。正如您在中看到的,UserID
是一个(映射到实体框架中的GUID)。我打赌TblUsers.UserID
具有不同的类型(如int
)。在这两个集合中,UserID具有不同的类型。首先检查此项。在两个集合中,UserId具有不同的类型。先检查一下这个。