我遇到了这个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 );
正如您所看到的,每个PersistedCommit
都包含一个名为Collection<int>
的{{1}},它将FileIDs
连接到PersistedFileInfo
。我想选择特定fileInfo的所有先前提交(由其路径标识)。
我有大约800 PersistedFileInfo
和10 PersistedCommit
s。查询大约需要1.5秒 - 这在我的选择中太长了。 Commit
- 对象的构造函数只保存两个给定的参数 - 所以这里没有时间损失。
我的问题:
可以重写此查询以更好地执行 - 或者它是db4o问题(改为使用SODA查询)?