私は自分のプロジェクトにリポジトリ/サービスの設計パターンを採用しました。それを構築しているときに、私は自分自身に考えました。
リポジトリのすべてのアイテムを取得 (キャッシュに保持) してから、呼び出しごとにデータベース接続を使用するのではなく、LINQ を使用してフィルター処理する方がよいでしょうか。
たとえば、私はこれを持っています:
public Asset Get(int id)
{
return GetAll().Where(a => a.Id == id).FirstOrDefault();
}
public IList<Asset> GetAll()
{
return AssetData.Get(userId, companyId);
}
それ以外の:
public Asset Get(int id)
{
return AssetData.Get(id, userId, companyId);
}
public IList<Asset> GetAll()
{
return AssetData.Get(userId, companyId);
}
システムを高速化し、データベース接続/クエリが少なくなるため、最初の方法が最適だと思います。
では、このシナリオのベスト プラクティスはどれか説明してもらえますか?