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