我得到与此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它连接到其PersistedFileInfos。我想选择一个特定的fileInfo(这是由其路径标识)。

的所有先前的提交

我有大约800 PersistedFileInfos和10个PersistedCommits。查询需要约1.5秒 - 这是在我的opition时间太长了。所述Commit对象的构造器只保存在两个给定的参数 - 因此没有timeloss,这里

我的问题:点击 可以此查询重写以执行更好? - 或者是一个问题的db4o(使用SODA查询,而不是)

有帮助吗?

解决方案

请检查您的NQ确实优化(看这里)。如果没有,那么你最好的选择是翻译成SODA此查询自己。

戈兰

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top