Linq to sql不断返回null

时间:2011-10-13 18:29:46

标签: sql linq-to-sql

我有以下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。

3 个答案:

答案 0 :(得分:0)

在绑定结果之前,请确保您的数据库上下文不会超出范围。您可以在.ToList()之后添加.Distinct()来强制加载结果,从而对此进行测试。

答案 1 :(得分:0)

你的linq代码在select语句中有一个未闭合的}括号

答案 2 :(得分:0)

当我没有想法时,我使用Linqer http://www.sqltolinq.com/ :-)它还可以加快转换工作。