web-dev-qa-db-ja.com

初心者がLinqpadを使用して非常に基本的なlinqtosqlクエリを実行するための手順

LinqPad を使用してLinqを学習しようとすると、その開始方法に不満を感じます。 SQLサーバーにProductsという名前のテーブルがあるC#式とC#ステートメントを記述し、価格が50を超えるすべての行をプルしたいとします。どのように記述しますか?

14

SQLサーバーにProductsという名前のテーブルがあるC#式とC#ステートメントを記述し、価格が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分間の誘導を見てください。

20
Joe Albahari

追加したかっただけです-LINQパッドは複数形になっています-私はこれを知りませんでした、そしてそれは私を15分間夢中にさせました

DentalApplicationというテーブルから選択しようとしていました

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

このエラーをくれた

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

に変更しました

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

そしてそれはうまくいった

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

...ここで、dbはORMコンテキストを表します。 Priceは、データベースのPriceフィールドへのマッピングを表します。 resultは、結果セット(データベースの行/エンティティ)を表します。

3
George Johnston

チェックアウト: http://msdn.Microsoft.com/en-us/library/bb397933(v = vs.90).aspx これにより、Linqの概要とラムダ式の使用方法がわかります。

次に、 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
}
0
Maess