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

时间:2011-11-03 18:27:16

标签: c# linq linq-to-sql linqpad

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

4 个答案:

答案 0 :(得分:20)

  

假设我想在其中写一个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分钟的归纳。

答案 1 :(得分:9)

只是想添加 - 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)

并且有效

答案 2 :(得分:3)

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

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

答案 3 :(得分:0)

查看: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
}