我遇到了这个 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>
将FileIDs
其连接到其PersistedFileInfo
s 的调用。我想选择特定 fileInfo (由其路径标识)的所有先前提交。
我有大约 800PersistedFileInfo
秒和 10PersistedCommit
秒。查询大约需要 1.5 秒——我认为这太长了。-object的构造Commit
函数只保存两个给定的参数 - 所以这里没有时间损失。
我的问题:
能否重写此查询以更好地执行 - 还是 db4o 问题(改用 SODA 查询)?