该模型包含2个具有多对多关系的实体:CatalogueItems and Keywords。实体框架多对多选择
假设2个变量定义:
ObjectQuery<Keyword> KW;
ObjectQuery<CatalogueItem> CI;
KW包含选择一组关键字的一些查询。我需要CI选择至少有一个来自KW的关键字的所有CatalogueItems。
一件重要的事情:什么都不应该预先计算或枚举。关键字枚举需要很长时间,但UI基于实时CatalogueItems显示。一个完美的事情就是让CI准备好执行。
谢谢。 它的工作原理,但tooooooo缓慢。用于提取关键字的单个查询需要几秒钟。 此查询正在运行...我不知道。我一直保持10分钟,并关闭它。看起来它为每个CatalogueItem重新计算KW。 此外,CatalogueItems在结果中重复。 Distinct()完全没有帮助 - app在合理的时间内挂起并没有结果。 我相信应该有一个更优化的方式。 – Sergey40a
请参阅我的编辑。 – Svarog
查询就像“keyword.Value like @ 0 or keyword.Value like @ 1 ...”。数据库有一个用于建立多对多关系的过渡表(ItemID,KeywordID)。索引是好的。 也许SP是一个更好的方式来实现这...可惜 – Sergey40a