LINQ异常:参数未绑定

时间:2017-12-05 14:02:35

标签: c# entity-framework linq exception

我想在LINQ表达式中使用包含的表时收到异常:

  

查询实现期间的异常。该参数未绑定在指定的LINQ to Entities查询表达式中。

使用的代码:

var tools = toolSpecTable.Where(t => t.Operation_Id == dbOperation.Id)
                         .Include(t => t.ToolDefinitionId);

foreach (var dbTool in tools)
{
    if (dbTool.ToolDefinitionId != null)
    {
        var toolObject = toolTable
           .Where(toolObj => toolObj.ToolDefinition_Id == dbTool.ToolDefinitionId.Id)
           .FirstOrDefault();

        if (toolObject != null)
        { ... }
    }
}

请注意,声明toolObject变量时发生错误。

在LINQ表达式中使用它之前,我通过将dbTool.ToolDefinitionId.Id存储到变量中来使用解决该异常的技巧:

var toolDefnitionId = dbTool.ToolDefinitionId.Id;
var toolObject = toolTable
    .Where(toolObj => toolObj.ToolDefinition_Id == toolDefnitionId)
    .FirstOrDefault();

if (toolObject != null)
{ ... }

知道为什么吗?

0 个答案:

没有答案