リストがあります: 約 100K+ のユーザー レコードを持つコレクション ユーザー (すべてのユーザー オブジェクトはデータベースから完全にロードされ、バイオ、名、姓などのフィールドがあります)。このコレクションは、アプリケーションの起動時にデータベースから取得され、メモリに保持されます。
次に、次のようなコードがあります。
User cachedUser = users.FirstOrDefault(x => string.Equals(x.UserName, username,
StringComparison.CurrentCultureIgnoreCase));
このコレクションからユーザーを取得するために使用します。しかし、どういうわけか、この操作は信じられないほど遅いことに気付きました。Linq を使用して大きなオブジェクトのメモリ コレクション内でクエリを実行しているときに、パフォーマンスの問題はありますか? ユーザーを取得するたびに、代わりに DB を呼び出す必要がありますか?