在LINQ语句中执行多个连接

sta*_*101 13 .net c# linq entity-framework asp.net-mvc-3

有人可以帮助我将以下SQL查询转换为LINQ格式.

SELECT a.ID,
       a.HostID,
       h.URL,
       a.SourceURL,
       a.TargetURL,
       c.Value,
       a.ExtFlag
FROM Link a
INNER JOIN Host h
ON h.ID = a.HostID
INNER JOIN Ref c
ON a.ResponseCode = c.SubType
AND c.Type = 'HTTP Status'
Run Code Online (Sandbox Code Playgroud)

非常感谢

Ale*_*aga 29

我想它会是这样的:

var result = from a in Context.DGApprovedLink 
             join h in Context.DGHost on a.HostID equals h.ID
             join c in Context.DGConfig on a.ResponseCode equals c.SubType
             where c.Type == "HTTP Status"
             select new {
                 a.ID,
                 a.HostID,
                 h.URL,
                 a.SourceURL,
                 a.TargetURL,
                 c.Value,
                 a.ExtFlag };
Run Code Online (Sandbox Code Playgroud)

  • 真?!您希望如何将"正确"值与不同类型进行比较?!你从未指定类型,所以我们怎么知道它们?查询应该在LINQ方面完美地工作,juts适当地处理你的类型. (5认同)
  • 现在工作.不得不使用ToString函数进行其中一个比较.谢谢. (2认同)