J'ai un problème avec cette requête linq :
from PersistedFileInfo fi in m_Database
from PersistedCommit commit in m_Database
where commit.FileIDs.Contains( fi.ID )
where fi.Path == <given path>
select new Commit( m_Storage, commit );
Comme vous pouvez le voir, chaque PersistedCommit
contient un Collection<int>
appelé FileIDs
qui le relie à son PersistedFileInfo
s. Je veux sélectionner tous les commits précédents d'un fileInfo spécifique (qui est identifié par son chemin).
J'ai environ 800 PersistedFileInfo
et 10 PersistedCommit
s. La requête prend environ 1,5 seconde, ce qui est à mon avis beaucoup trop long. Le constructeur de l'objet Commit
-L'objet ne sauvegarde que les deux arguments donnés - il n'y a donc pas de perte de temps ici.
Ma question :
Cette requête peut-elle être réécrite pour être plus performante - ou est-ce un problème de db4o (utilisez plutôt une requête SODA) ?