id == somethingの要素のROWNUMBERを返すLINQ文を書く方法は?id == somethingの要素のrownumberを返すLINQ文?
答えて
結果:あなたは10行たい場合例えば
、の。クエリ全体をクライアントに引き渡す必要があり、そこから行番号に投影することができます。別の方法として、ROW_NUMBERを使用するストアドプロシージャを作成し、そのプロシージャをLinqからSQLにヒットさせることもできます。
あなたのケースでは、これを実行できる唯一の方法はクライアント側です。次のステートメントはサーバーでこれを行うつもりはないが、テーブル全体をプルダウンしてクライアントでインデックスを取得することに注意してください。
using (var dc = new DataClasses1DataContext())
{
var result = dc.Users
.AsEnumerable() // select all users from the database and bring them back to the client
.Select((user, index) => new // project in the index
{
user.Username,
index
})
.Where(user => user.Username == "sivey"); // filter for your specific record
foreach (var item in result)
{
Console.WriteLine(string.Format("{0}:{1}", item.index, item.Username));
}
}
これを実行するには、Skip and Take拡張メソッドを使用できるはずです。
from c in customers
where c.Region == "somewhere"
orderby c.CustomerName
select new {c.CustomerID, c.CustomerName}
.Skip(9).Take(1);
これは答えではないと思います尋ねられている質問ですが、それはupvotedので、私はここでそれを残しています。 –
LINQの問合せに行番号を投影する方法を私は承知していること、これを行うための直接的な方法はありません
How To Project a Line Number Into Linq Query Results
SelectのオーバーロードはLinq to SQLではサポートされていません。 NotSupportedException()をスローします。 –
- 1. LINQのがnull要素を返し
- 2. 子要素のidの繰り返し
- 3. 子要素との一致に基づいて要素を返すLINQ
- 4. jQuery IDが特定の文字列で始まる要素を返す
- 5. LINQ:すべての要素
- 6. id要素のないすべてのページiFrameを返す
- 7. レイヤード要素Linq
- 8. id = "something"の場合のJSアラートのポップアップ
- 9. linqの親IDからすべての子要素と孫要素を取得する方法
- 10. id xml文書で要素を取得
- 11. jQueryのAjax返信データでHTML要素IDを呼び出す
- 12. XMLにLINQのと要素
- 13. 子要素のLINQ Sumクエリ
- 14. のjQuery:要素ID
- 15. のLINQ:グループオブジェクトとその子要素
- 16. JSONサーバーがIDで単一の子要素を返さない
- 17. XMLにLINQ - 内部要素のすべての要素をクエリする方法?
- 18. XMLレイアウトのView要素のID文字列を再利用
- 19. Python dict.fromkeysは同じid要素を返します
- 20. 挿入親要素のID
- 21. jQueryのアクセス要素ID
- 22. ベクトル要素IDのC++
- 23. c#xml linq要素に要素を追加する
- 24. C#の2つの要素は、XML LINQ
- 25. LINQ c#コレクション内の一意の要素
- 26. 配列要素のLIKEクエリのLINQ
- 27. LINQ内の別個の要素
- 28. リストのランダム要素LINQのSQL
- 29. のLINQ - 問題の選択要素
- 30. 要素単位でのLINQのデバッグ
ありがとう、スコット。だから、あなたはToList()、そしてIndexOf()を使うだろうと思いますか? –
確かに、私はまたあなたにインデックスを与えるSelectのオーバーロードでそれを行う方法の例を追加しました。 –
甘い。私のupvoteを取得します。 –