【问题标题】:How to convert sql multimple LEFT JOIN to linq如何将sql多个LEFT JOIN转换为linq
【发布时间】:2016-11-22 11:30:04
【问题描述】:

我有下一个 SQL 查询:

SELECT Troox.*, Transfers.TranferDate, Users.UserName, Users_1.UserName 
FROM((Troox LEFT JOIN Transfers ON Troox.TrooxID = Transfers.TrooxID)
LEFT JOIN Users ON Transfers.SenderID = Users.UserId) 
LEFT JOIN Users AS Users_1 ON Transfers.ReceiverID = Users_1.UserId
where(Troox.UserId = 51)

我需要将此查询转换为 C# 中的 LINQ。

或者如何使用 Context.Database.SqlQuery 执行此操作,并获得响应。

请帮帮我。

【问题讨论】:

    标签: c# mysql sql-server linq


    【解决方案1】:
      internal class MappingData
     {
      public int TrooxID {get; set} // Here i declare only TrooxID  of Troox for sample,you can declare all of the fields  in Troox as  one by one
      public DateTime TranferDate{ get; set; }
      public string UserName{ get; set; }
      public string UserName1{ get; set; }
    
     }
    
    using (var context = new MyDBContext())
     {
     var TrooxUserId= new SqlParameter("@TrooxUserId","51");
     string sqlQuery = @"SELECT Troox.TrooxID, Transfers.TranferDate, Users.UserName, Users_1.UserName as UserName1
                       FROM((Troox LEFT JOIN Transfers ON Troox.TrooxID = Transfers.TrooxID)
                       LEFT JOIN Users ON Transfers.SenderID = Users.UserId) 
                       LEFT JOIN Users AS Users_1 ON Transfers.ReceiverID = Users_1.UserId where Troox.UserId =@TrooxUserId";
     var Results = db.Database.SqlQuery<MappingData>(sqlQuery,TrooxUserId).ToList();
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-17
      • 1970-01-01
      • 2021-05-03
      • 1970-01-01
      • 1970-01-01
      • 2014-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多