初学者使用Linqpad运行非常基本的linq到sql查询的步骤

尝试使用LinqPad学习Linq, 并对如何开始使用感到沮丧 。 假设我想编写一个C#表达式和一个C#语句,我在SQL服务器中有一个名为Products的表,我想拉出价格大于50的所有行。你会怎么写它?

假设我想编写一个C#表达式和一个C#语句,我在SQL服务器中有一个名为Products的表,我想拉出价格大于50的所有行。你会怎么写它?

LINQPad会自动为您构建类型化的DataContext,因此您无需实例化任何内容。 在C#表达式模式下,只需键入以下内容:

Products.Where(p => p.Price > 50) 

然后按F5。 或者,您可能更喜欢使用查询表达式:

 from p in Products where p.Price > 50 select p 

在C#语句模式下,您需要调用Dump()方法来告诉它写出结果。 您还需要使用分号终止表达式:

 Products.Where(p => p.Price > 50).Dump(); 

在LINQPad的示例部分中有更多示例 – 请参阅5分钟的归纳。

只是想添加 – LINQ pad复数 – 我不知道这个,它让我疯狂了十五分钟

我试图从名为DentalApplication的表中进行选择

  DentalApplication.Where(a=> a.PackageID > 0) 

给我这个错误

  'LINQPad.User.DentalApplication' does not contain a definition for 'Where' 

改为

  DentalApplications.Where(a=> a.PackageID > 0) 

它工作

 var db = new MyDatabaseContext(); // Your database context. var result = db.Products.Where(q=>q.Price > 50); 

…其中db表示您的ORM上下文。 Price表示您到数据库中Price字段的映射。 result表示结果集 – 您的数据库行/实体。

查看: http : //msdn.microsoft.com/en-us/library/bb397933 (v = vs.90) .aspx ,它将为您介绍Linq并使用lambda表达式。

然后看看http://msdn.microsoft.com/en-us/library/bb386927.aspx ,它将为您提供基础知识,但要回答您的具体问题:

 var products = db.Products.Where(prod => prod.Price > 50); foreach(var product in products) { //do something }