次のシナリオの設計に関するアドバイスを探しています。
コードファーストの EF5 MVC アプリケーションがあります。多くのテーブルから複数の加重列を組み込む全文検索機能を構築しています。これらのテーブルからインデックスを使用してビューを作成できないため (一部のテーブルにはテキスト/バイナリ列が含まれています)、オブジェクトの ID (例: PersonID
) とそのオブジェクトに関連付けられたランクを出力するストアド プロシージャを作成しました。検索ワード。
私の現在のアプローチは、ストアド プロシージャを呼び出し、返された ID に基づいてコンテキストからすべてのオブジェクトをロードする全文検索を実行するためのヘルパー クラスを作成することです。
私の質問は次のとおりです。
- 私のアプローチは理にかなっているように見えますか、合理的なベストプラクティスに従っていますか?
- 他の誰かが学んだ教訓で同様のことをしましたか?
- これをより効率的に行う方法はありますか (つまり、追加のルックアップを必要とせずに、ストアド プロシージャの結果をエンティティに直接返す/マップする方法はありますか?)
アップデート
私の詳細な実装を質問の編集から独自の回答に移動して、@ meta.stackexchange.com で頻繁に推奨されるものとより一致させました。