我是一个经验丰富的SQL开发人员,试图学习LINQ,尤其是LINQPad。我已经创建了一个简单的MVC5应用程序,并添加了一个参考冒险作品2012年。我在学生控制器中有以下代码:
namespace Linqpad.Controllers
{
public class PersonController : Controller
{
private AdventureWorks2012Entities db = new AdventureWorks2012Entities();
public ActionResult Index()
{
var courses = db.Employees
.Include(p => p.PurchaseOrderHeaders)
.Where(p => p.Gender=="Male");
return View();
}
}
}这如预期的那样起作用。我现在试图在Linqpad中运行这个程序,但是我得到了下面的错误:

如何重构此查询以在Linqpad中运行?
发布于 2017-01-24 17:58:57
在顶部工具栏中,语言设置为"C#表达式“。这意味着窗口中的表达式将自动计算并转储到输出区域。在这种模式下,var courses =是不必要的。
如果您将语言模式设置为"C#语句“,那么现在它将计算您输入的任何语句,并且只有在将.Dump()添加到末尾(或Console.WriteLine)时才会输出内容。所以你的声明会变成:
var courses = db.Employees
.Include(p => p.PurchaseOrderHeaders)
.Where(p => p.Gender=="Male")
.Dump();可以在“选项”>“查询”区域中更改默认语言模式。
发布于 2017-01-24 17:35:18
为了在Include 5中使用LINQPad,需要包含对EntityFramework.dll的引用。为了做到这一点,
Add窗口中单击Additional References并选择,或浏览EntityFramework.dllAdditional Namespace Imports下添加命名空间System.Data.Entity完成这些步骤后,可以将Include附加到表视图中。
var courses = Employees
.Include(p => p.PurchaseOrderHeaders)
.Where(p => p.Gender=='M')
.Dump();使用Dump()获得输出。还将语言设置为C# Statment(s)
https://stackoverflow.com/questions/41834557
复制相似问题