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

本文关键字:linq-to-sql 查询 Linqpad 运行 非常 初学者 | 更新日期: 2023-09-27 18:13:38

尝试使用LinqPad学习Linq,但对如何使用它感到沮丧。假设我想写一个C#表达式和一个C#语句,其中我在SQL server中有一个名为Products的表,并且我想提取价格大于50的所有行。你会怎么写?

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

假设我想写一个C#表达式和一个C#语句在SQL server中有一个名为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复数-我不知道这一点,它让我疯狂了整整15分钟的

我正试图从一个名为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
}