私のデータベースは〜10000行を組み合わせた5つのテーブルで構成されています。共有フォルダにあるSQL Server CEでは約1Mbがかかります。データベース自体は階層的な国 - 地域 - 都市 - 街路 - 建物です。 Entity Framework 4を使用しています。EFを使用してデータベース全体を読み込む方法
データベースは小規模なので、WPF ListViewで2000のすべての都市を探索および編集することができます。しかし、私が今まで試したすべてのアプローチでは、GUIは低速です(多くのデータベースのラウンドトリップのために、ダミーのデータGUIは耐光性があります)。 1回または数回のデータベース往復でデータベース全体をメモリにロードするにはどうすればよいですか?
は私が複数のInclude()
を試してみましたが、私は素晴らしいパフォーマンスペナルティ
as described here万一のI
write my own ORM-光
を指摘しましたか?私はまた、データベースの代わりにプレーン・アスキーCSVファイルを使用することもできますが、明らかに並行性は除外されます。
EFはIdentityMapパターンを実装しているため、すべてのエンティティがコンテキスト内にキャッシュされます。したがって、すべてのエンティティをコンテキストにロードすると、DBへのクエリはこれ以上ありません。 –