Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# linq sql连接两个表并选择列_C#_Sql_Linq_Join - Fatal编程技术网

C# linq sql连接两个表并选择列

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

我是sql linq的新手,我正在尝试使用两个表的公共id(即motherid)连接它们。我已经这样做了,但当我尝试将返回值转换为list时,它会抛出一个异常,表示“查询包含对在不同数据上下文中定义的项的引用”

               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()应该可以工作。实际上只有一个数据库,我只是使用两个不同的类适配器访问它。你是对的,它工作得很好。谢谢你,伙计!