将 Linq 转换为 SQL

use*_*419 5 sql linq asp.net

我在网上研究过,大多数结果都是从 sql 转换为 linq,很少有 linq 到 sql。

这是我想要转换为 SQL 的代码:

 using (CommerceEntities db = new CommerceEntities())
    {
    try
      {
      var query = (from ProductOrders in db.OrderDetails
                        join SelectedProducts in db.Products on ProductOrders.ProductID  
                        equals SelectedProducts.ProductID
                        group ProductOrders by new
                            {
                            ProductId = SelectedProducts.ProductID,
                            ModelName = SelectedProducts.ModelName
                            } into grp
                        select new
                            {
                            ModelName = grp.Key.ModelName,
                            ProductId = grp.Key.ProductId,
                            Quantity = grp.Sum(o => o.Quantity)
                            } into orderdgrp where orderdgrp.Quantity > 0 
                        orderby orderdgrp.Quantity descending select orderdgrp).Take(5);

                    RepeaterItemsList.DataSource = query;
                    RepeaterItemsList.DataBind(); 
      }
    catch (Exception exp)
      {
      throw new Exception("ERROR: Unable to Load Popular Items - " + 
                           exp.Message.ToString(), exp);
      }
    }
Run Code Online (Sandbox Code Playgroud)

ale*_*nsc 5

您可以尝试在LinqPad中运行 LINQ 语句。有关如何使用 LinqPad 的示例,请查看此处的答案

它有一个选项卡来显示生成的 SQL 语句。