我有以下SQL查询:
SELECT DISTINCT
Participant.BackgroundTrainingID,
Location.TrainingSite
FROM Registration, ProgramLocation, Participant, Program, Location
WHERE ProgramLocation.LocationID = Location.LocationID
AND ProgramLocation.ProgramID=Registration.ProgramID
AND Registration.ParticipantID=Participant.ParticipantId
我编写了以下LINQ to SQL来匹配上面的查询:
var trainingsiteinfo = (from c in db.ProgramLocations
from n in db.Registrations
from l in db.Participants
from h in db.Locations
where c.LocationID == h.LocationID
&& c.ProgramID == n.ProgramID
&& n.ParticipantID == l.ParticipantId
select new {
h.TrainingSite,
l.BackgroundTrainingID }).Distinct();
SQL查询工作正常,但LINQ不断返回null。
答案 0 :(得分:0)
在绑定结果之前,请确保您的数据库上下文不会超出范围。您可以在.ToList()
之后添加.Distinct()
来强制加载结果,从而对此进行测试。
答案 1 :(得分:0)
你的linq代码在select语句中有一个未闭合的}括号
答案 2 :(得分:0)
当我没有想法时,我使用Linqer http://www.sqltolinq.com/ :-)它还可以加快转换工作。