Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Visual Studio调试器中查看Lambdas_C#_Visual Studio_Linq_Linq To Sql_Lambda - Fatal编程技术网

C# 在Visual Studio调试器中查看Lambdas

C# 在Visual Studio调试器中查看Lambdas,c#,visual-studio,linq,linq-to-sql,lambda,C#,Visual Studio,Linq,Linq To Sql,Lambda,我有一个简单的LinqToSQL语句,它不起作用。大概是这样的: List<MyClass> myList = _ctx.DBList .Where(x => x.AGuidID == paramID) .Where(x => x.BBoolVal == false) .ToList(); List myList=\u ctx.DBList .Where(x=>x.AGuidID==paramID) .其中(x=>x.BBoolVal=

我有一个简单的LinqToSQL语句,它不起作用。大概是这样的:

List<MyClass> myList = _ctx.DBList
     .Where(x => x.AGuidID == paramID) 
     .Where(x => x.BBoolVal == false) 
     .ToList();
List myList=\u ctx.DBList
.Where(x=>x.AGuidID==paramID)
.其中(x=>x.BBoolVal==false)
.ToList();
我查看调试器中的_ctx.DBList,第二项适合这两个参数


有没有一种方法可以让我更深入地研究这个问题,看看到底出了什么问题?

我将它分为两个步骤——构造查询,然后分配给列表。这样,您可以在调试器中查看生成的SQL,并查看它是否正确。当我有查询问题需要调试时,我有时会剪切/粘贴(并修复)到SSM中

var q = _ctx.DBList 
     .Where(x => x.AGuidID == paramID)  
     .Where(x => x.BBoolVal == false) 
// view q in the debugger to see the SQL it will generate
var myList = q.ToList();

你基本上有两个选择

您可以将语句分解,并查看每个步骤产生的内容:

var p1 = _ctx.DBList.Where(x => x.AGuidID == paramID).ToList();
var p2=p1.Where(x => x.BBoolVal == false).ToList();
// and you just examine each of them in the debugger
// I put ToList() here so you get the actual result
或者,您可以在不同的行上编写lambda表达式,并在其上设置断点,然后使用step-in迭代代码。您将获得更多的信息,但很可能不会得到比上述两个数组更有用的信息(此外,如果有实际错误,可能需要很长时间才能找到)