C# 如何在实体框架通用代码中查看参数

C# 如何在实体框架通用代码中查看参数,c#,entity-framework,linq,C#,Entity Framework,Linq,我想如何知道实体框架生成的所有参数 我的代码: var t1 = db.OrdersFoods.Include(x => x.L_Food).Where(x => x.OrderID == order.ID) .Select(x => new OrderDetail {

我想如何知道实体框架生成的所有参数

我的代码:

var t1 = db.OrdersFoods.Include(x => x.L_Food).Where(x => x.OrderID == order.ID)
                                       .Select(x => new OrderDetail
                                       {
                                           cTopping = (from topping in db.L_Topping
                                                       where x.Topping.Contains(topping.ID.ToString() + ",")
                                                       select new ToppingDTO
                                                       {
                                                           ToppingID = topping.ID,
                                                           Name = topping.ToppingName,
                                                           Price = topping.Price
                                                       }),
                                           cFood = x.L_Food.FoodName,
                                           cPrice = x.L_Food.Price,
                                           cImage = x.L_Food.Image,
                                           cSaleOff = x.L_Food.SaleOff,
                                           cPriceTopping = 0,
                                           cQuantity = x.Quantity,
                                           cOrderID = x.OrderID,
                                           cFoodID = x.FoodID,
                                           cToppingID = x.Topping,
                                           cUnit = x.L_Food.Unit,
                                           cTotal = 0,
                                           FacID = x.FacID,
                                           Note = order.Note
                                       }).Where(x => x.FacID.Equals(FacID));
var orderfoods = t1.ToList();
此SQL代码由实体框架生成:

SELECT 
[Project1].[ID] AS [ID], 
[Project1].[ID1] AS [ID1], 
[Project1].[FoodName] AS [FoodName], 
[Project1].[Price] AS [Price], 
[Project1].[Image] AS [Image], 
[Project1].[SaleOff] AS [SaleOff], 
[Project1].[C1] AS [C1], 
[Project1].[Quantity] AS [Quantity], 
[Project1].[OrderID] AS [OrderID], 
[Project1].[FoodID] AS [FoodID], 
[Project1].[Topping] AS [Topping], 
[Project1].[Unit] AS [Unit], 
[Project1].[C2] AS [C2], 
[Project1].[FacID] AS [FacID], 
[Project1].[C3] AS [C3], 
[Project1].[C4] AS [C4], 
[Project1].[ID2] AS [ID2], 
[Project1].[ToppingName] AS [ToppingName], 
[Project1].[Price1] AS [Price1]
FROM ( SELECT 
    [Extent1].[ID] AS [ID], 
    [Extent1].[OrderID] AS [OrderID], 
    [Extent1].[FoodID] AS [FoodID], 
    [Extent1].[Quantity] AS [Quantity], 
    [Extent1].[Topping] AS [Topping], 
    [Extent1].[FacID] AS [FacID], 
    [Extent2].[ID] AS [ID1], 
    [Extent2].[FoodName] AS [FoodName], 
    [Extent2].[Unit] AS [Unit], 
    [Extent2].[Price] AS [Price], 
    [Extent2].[Image] AS [Image], 
    [Extent2].[SaleOff] AS [SaleOff], 
    [Extent3].[ID] AS [ID2], 
    [Extent3].[ToppingName] AS [ToppingName], 
    [Extent3].[Price] AS [Price1], 
    0 AS [C1], 
    0 AS [C2], 
    @p__linq__1 AS [C3], 
    CASE WHEN ([Extent3].[ID] IS NULL) THEN CAST(NULL AS int) ELSE 1 END AS [C4]
    FROM   [dbo].[OrdersFood] AS [Extent1]
    INNER JOIN [dbo].[L_Food] AS [Extent2] ON [Extent1].[FoodID] = [Extent2].[ID]
    LEFT OUTER JOIN [dbo].[L_Topping] AS [Extent3] ON ( CAST(CHARINDEX( CAST( [Extent3].[ID] AS nvarchar(max)) + N',', [Extent1].[Topping]) AS int)) > 0
    WHERE ([Extent1].[OrderID] = @p__linq__0) AND (([Extent1].[FacID] = @p__linq__2) OR (([Extent1].[FacID] IS NULL) AND (@p__linq__2 IS NULL)))
)  AS [Project1]
ORDER BY [Project1].[ID] ASC, [Project1].[ID1] ASC, [Project1].[C4] ASC


-- p__linq__0: '23853' (Type = Int32, IsNullable = false)

-- p__linq__2: '3' (Type = AnsiString, Size = 8000)

-- p__linq__1: 'null' (Type = String, Size = 4000)
我知道
p\u linq\u 2
FacID
p\u linq\u 0
OrderID
但未知
p\u linq\u 1


最后:我曾经使用LinQ调试可视化工具,但它不工作!感谢你为帮助我所做的一切努力!谢谢大家。

不要浪费时间。看起来它是内部生成的参数,用于执行此查询。EF6有一个糟糕的SQL生成器。