プロジェクトを維持しながら、次のコードに遭遇しました
query.Take(() => 1)
。
query
タイプです
IQueryable<T>
。
ラムダを渡すことは、ラムダを渡すこととは何が異なりますか
int
?
編集:編集して、私が質問していないことを明確にします
FirstOrDefault
。
回答 3 件
コードライターは、その行のドキュメントを作成する必要があります。
ただし、MSFTドキュメントを使用する場合:
https://docs.microsoft.com/en-us/dotnet/api/system.data.entity.queryableextensions.take?view=entity-framework-6.2.0
public static System.Linq.IQueryable<TSource> Take<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<int>> countAccessor);
countAccessor Expression<Func<Int32>>
返す要素の数に評価される式。
取る戻り値
IQueryable<T>
。 FirstOrDefault戻り値T
関連した質問
- LINQ:データをプルして、関係が異なる3つのテーブル(1対1、1対多)を結合しようとしています
- DbContextExecuteSqlRawパラメータがありませんエラー
- Linqを使用してselectTableDtoにList を含めるにはどうすればよいですか?
- Entity FrameworkCoreの第2レベルでのフィルター
- リスト内の特定のプロパティを選択する方法
- Linqクエリの複数のテーブルがさまざまなテーブル名の配列と結合します
- LINQクエリを使用して名前が数字で始まる製品名のリストを取得するにはどうすればよいですか?
- Linqで更新する複数の列を選択する
- LINQを使用して辞書を反転およびフラット化する
ここで説明することがいくつかあります。
query.Take(() => 1
(ドキュメント)これは
IQueryable<T>
単一のアイテムが含まれる場合があります。 SQLServerを使用するクエリを実行しますTOP
SQL Server2008以前で動作することを意味する構文。query.Take(1)
これは以前のバージョンと似ていますが、新しいSQLServerを使用します
OFFSET
/FETCH
構文であり、レガシーサポートが必要でない限り推奨される方法です。query.FirstOrDefault()
これにより、エンティティの単一のインスタンスが返されます。一致するものがない場合はnullが返されます。単一のアイテムが必要な場合は、通常、これが推奨される方法です。ただし、コードでnullをチェックする必要があります。
列挙可能なものを返しますが、
query.FirstOrDefault
単一のアイテム、またはnullを提供します。彼らは非常に異なって実行されます