C# linq sql连接两个表并选择列
我是sql linq的新手,我正在尝试使用两个表的公共id(即motherid)连接它们。我已经这样做了,但当我尝试将返回值转换为list时,它会抛出一个异常,表示“查询包含对在不同数据上下文中定义的项的引用”C# linq sql连接两个表并选择列,c#,sql,linq,join,C#,Sql,Linq,Join,我是sql linq的新手,我正在尝试使用两个表的公共id(即motherid)连接它们。我已经这样做了,但当我尝试将返回值转换为list时,它会抛出一个异常,表示“查询包含对在不同数据上下文中定义的项的引用” var todaySecondVisitProfile = (from a in _maternalvisitvaluedb.Value join b in _maternalcarevaluedb.Value on a.Mot
var todaySecondVisitProfile = (from a in _maternalvisitvaluedb.Value
join b in _maternalcarevaluedb.Value on a.MotherId equals b.MotherID
where (DateTime)a.SecondVisit.Date == DateTime.Now.Date
select new
{
FirstName = b.FirstName,
LastName = b.LastName,
PhoneNo = b.PhoneNo
}).ToList();
如果无法将结果转换为列表,如何访问结果?tnx提供帮助。我认为您正在尝试在两个不同的数据库上执行Linq。如果是这样,那么您应该这样做:
var firstQuery = (from s in _maternalvisitvaluedb.Value select s).ToList();
var secondQuery = (from t in _maternalcarevaluedb.Value select t).ToList();
var result = (from s in firstQuery
join k in secondQuery
on s.MotherId equals k.MotherId
where (DateTime)s.SecondVisit.Date == DateTime.Now.Date
select s).ToList();
您需要创建一个结构或类,然后选择new YourStructName并将数据选择到结构中。那么ToList()应该可以工作。实际上只有一个数据库,我只是使用两个不同的类适配器访问它。你是对的,它工作得很好。谢谢你,伙计!