Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
帮助将多数据库SQL查询转换为LINQ_Sql_Linq_Linq To Sql - Fatal编程技术网

帮助将多数据库SQL查询转换为LINQ

帮助将多数据库SQL查询转换为LINQ,sql,linq,linq-to-sql,Sql,Linq,Linq To Sql,我有下面的SQL查询,它返回我所期望的结果,我希望在LINQ中完成同样的事情,但到目前为止,我的结果并没有那么壮观。在我看来,主要的障碍是数据来自3个独立的数据库。我能够在LINQ中完成这项工作,但速度非常慢 因此,不需要进一步的ado,这里就是了,传入时,硬编码Guid()是唯一的例外: SELECT en.ClientID, p.LastName, p.FirstName, NurseName = dm2.FirstName + ' ' + dm2.LastName, SocialWorke

我有下面的SQL查询,它返回我所期望的结果,我希望在LINQ中完成同样的事情,但到目前为止,我的结果并没有那么壮观。在我看来,主要的障碍是数据来自3个独立的数据库。我能够在LINQ中完成这项工作,但速度非常慢

因此,不需要进一步的ado,这里就是了,传入时,硬编码Guid()是唯一的例外:

SELECT en.ClientID, p.LastName, p.FirstName, NurseName = dm2.FirstName + ' ' + dm2.LastName, SocialWorkerName = dm.FirstName + ' ' + dm.LastName, en.EnrollmentDate, en.DisenrollmentDate, ESWorkerName = sw.FirstName + ' ' + sw.LastName, sw.Phone

FROM CMO.dbo.tblCMOEnrollment en
    LEFT OUTER JOIN CMO.dbo.tblSupportWorker sw
        ON en.EconomicSupportWorkerID = sw.SupportWorkerID
    INNER JOIN Connect.dbo.tblPerson p
        ON en.ClientID = p.PersonID
    LEFT OUTER JOIN aspnetdb.dbo.tblDemographics dm
        ON en.CMOSocialWorkerID = dm.UserID
    LEFT OUTER JOIN aspnetdb.dbo.tblDemographics dm2
        ON en.CMONurseID = dm2.UserID

WHERE (en.CMOSocialWorkerID = '060632EE-BE09-4057-B17B-2D0190D0FF74'
        OR
        en.CMONurseID = '060632EE-BE09-4057-B17B-2D0190D0FF74')
AND (en.DisenrollmentDate IS NULL 
    OR
    en.DisenrollmentDate > GetDate())

ORDER BY en.DisenrollmentDate, p.LastName

因为您想发出一个查询,所以应该只使用一个datacontext。将视图添加到其中一个数据库以表示其他数据库表,然后将其全部添加到一个LinqToSqlClasses文件中

如果无法修改这三个数据库中的任何一个,请创建第四个数据库,其中包含其他三个数据库的视图