이 모델에는 many-to-many 관계를 갖는 두 개의 엔터티가 포함됩니다. CatalogueItems and Keywords. Entity Framework 다 대다 선택
는이 개 변수가 정의되어 있다고 가정 :ObjectQuery<Keyword> KW;
ObjectQuery<CatalogueItem> CI;
KW 키워드의 집합을 선택하는 몇 가지 쿼리가 포함되어 있습니다. KW에서 하나 이상의 키워드가있는 모든 CatalogueItem을 선택하는 CI을 가져와야합니다.
중요한 것은 미리 계산하거나 나열해야합니다. 키워드 열거에는 많은 시간이 필요하지만 UI는 표시되는 실시간 CatalogueItem을 기반으로합니다. 완벽한 것은 CI을 실행할 준비가되어있는 것입니다. 이 같은
감사합니다. 작동하지만 너무 느립니다. 키워드를 가져 오는 단일 쿼리에는 몇 초가 걸립니다. 이 쿼리는 실행 중입니다 ... 잘 모르겠습니다. 나는 10 분 동안 기다렸다가 꺼냈다. 모든 CatalogueItem에 대해 KW를 다시 계산하는 것처럼 보입니다. 또한 CatalogueItems가 결과에서 반복됩니다. Distinct()는 전혀 도움이되지 않습니다 - 앱이 멈추고 합리적인 시간에 결과를 제공하지 않습니다. 나는 더욱 최적화 된 방법이 있어야한다고 생각합니다. – Sergey40a
제발 편집을 참조하십시오. – Svarog
쿼리는 "keyword.Value like @ 0 또는 keyword.Value @ 1 ..."과 같습니다. 데이터베이스는 다 대다 관계를 만들기위한 전이 테이블 (ItemID, KeywordID)을 가지고 있습니다. 색인은 괜찮습니다. 아마도 SP가 이것을 구현하는 더 좋은 방법입니다 ... 동정 – Sergey40a