ラムダ式がSelect * from TableName
であることを知りたいだけです。 プレーンなLINQのように、var res=from s in db.StudentDatas select s
になります。 ここにStudentData
は表の名前です。Select *のラムダ式
ありがとうございました。
ラムダ式がSelect * from TableName
であることを知りたいだけです。 プレーンなLINQのように、var res=from s in db.StudentDatas select s
になります。 ここにStudentData
は表の名前です。Select *のラムダ式
ありがとうございました。
ラムダ式が必要とされていません。
var res = db.StudentDatas;
あなたがいずれかを使用できますが、それはむしろ無意味のようになります。
var res = db.StudentDatas.Select(s => s);
論理的な観点からは必要ありませんコンパイラがSelect()呼び出しを最適化した場合、LINQ to SQLがデータベースクエリを呼び出す機会はありません。 –
私は使用しませんが、知りたかっただけです。表現に感謝します。 – Wondering
@リチャードあなたが何を言っているのか分かりません。コンパイラは、実行する必要のあるコードを最適化しません。 –
ラムダ式は必要ありません。コレクションのすべてのメンバーがほしいだけです。
コンパイラは、これらの線に沿って何かにそれを翻訳します:
db.StudentDatas.Select(s => s)
SQLへの変換は、基本クラスライブラリによって行われます。 SQL、当然のことながら、ラムダ式を使用していません...
"db"とは何ですか? ? – ShaileshDev
DbContextの共通変数名 https://msdn.microsoft.com/en-us/library/system.data.entity.dbcontext(v=vs.113).aspx –
どちらも技術的には正しいですが、どちらも単純な形式で同じ結果が得られます。これは、db.table
のデフォルト動作が「選択」であるためです。背後では、彼らは異なっています。 1つはSystem.Data.Linq.Table
ですが、もう1つはSystem.Linq.IQuerable
です。 例えば
var x = db.table ; var y= db.table(s=>s);
X = y;
は、コンパイルエラーになります。
ダイナミックLinqライブラリを使用する場合、実行時に動的クエリを作成する必要がある場合は、最初の選択としてIQuerable
を使用する必要があります。どのVAR qry = db.table;
とは対照的に、そして、あなたのようなクエリに行くと連鎖することができvar qry = db.table(s=>s);
を意味しますqry = qry.Where(bla bla bla);
がセッションをかむいくつかの爪の後に苦労して、それを見つけました。
コード:
var allmember = eg_.table.where(x=>x).ToList();
ラムダ式は、匿名の機能ではなく、クエリです。彼らはしかし、クエリの一部として使用されています... –
なぜ簡単な説明で十分ですdownvoted、このような質問ですか? –
@ロベルト・ハーベイ:私たちは嫌悪者の世界に住んでいるので、 –