0

私はプロジェクトを書き始めており、ASP.NET MVC と Entity Framework を初めて使用します (以来、PHP を約 5 年間使用しています)。

カテゴリと投稿を取得しました。各カテゴリには、文字列またはブール値にすることができる独自のフィルターが必要です (テキストボックスまたはチェックボックスを介して取得します)。エンティティを設計するときに混乱し始めています。

コード ファースト アプローチを使用していますが、Entity Framework でカスタム フィールドを設定する方法がわかりません。PHPと純粋なSQLでそれを設計する場合、パフォーマンスを維持するために、その場で追加の列(「filter_1」、「filter_2」など)を作成し、それを含むマッピングテーブルを作成すると思いますフィールドの説明、タイプなど。EFでこの種の実装が可能かどうかはわかりませんでした。

いくつかのオプションについて考えました: - フィルターとフィルター値テーブルを作成するときに多対多の関係を使用してフィルターを作成し、投稿を作成するときにそのテーブルにフィルター値を追加できます。それに関する主な短所は彼のパフォーマンスです-私はおそらく40k以上の行と20以上のカスタムフィルターを確実に持っているでしょう...そのため、検索とデータのフェッチは遅すぎます...-フィルター処理された値をいくつかにシリアル化することを考えましたコンテンツの形式、たとえばバイト配列に変換し、それを滅菌解除するだけです-しかし、問題はその中を検索できないことです...-最初のアイデアを作成するために、従来のADO.NETの方法を使用できます(PHPについて話すときに説明しました-「filter_N」列を使用して)しかし、それはEFで混乱を招きすぎます...

私の目標を達成する (カスタム フィルターを作成する) 他の方法はありますか? EF を使用してカスタム フィールドを作成する方法はありますか?

ご協力いただきありがとうございます!

4

1 に答える 1

0

これを Entity Framework に実装する良い方法がわかりません。本当に Entity Framework を使用したい場合は、その場で追加の列を作成する必要がないようにデータベース テーブルを設計できると思います。フィルターを保持し、それらをカテゴリに関連付ける別のテーブルを作成できます。

于 2012-09-18T03:37:03.960 に答える