背景:最終年度のプロジェクト - Mvc 4 を使用した Web アプリケーションの作成。
シナリオ:私のアプリケーションでは、ユーザーは多数の設定を選択し、各設定に優先度を適用できる必要があります。これらのプリファレンスはリストに保存し、後で質問に関連しない他のタスクに使用する必要があります。
設定がどのように定義されるか、設定のインスタンスが設定オプションになり、それらがどのように保存されるべきかを以下に示します。
優先オプション:
public enum Weighting { One, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten }
public class PreferenceOption<T>
{
public T PreferenceOptionSelected { get; set; }
public Weighting Weighting { get; set; }
}
設定オプション:
public class PreferenceOptions
{
PreferenceOption<bool> WantsHouse = new PreferenceOption<bool>() { PreferenceOptionSelected = false, Weighting = Weighting.One };
// ... could be up to 15/20 options
}
ユーザー設定:
public class UserPreferences
{
public List<PreferenceOptions> UserPreferences { get; set; }
}
したがってUserPreferences
、ユーザーが選択したすべての設定をモデルに永続的に保存する必要があります。10 個の設定がある場合、各設定はUserPreferences
テーブルの 1 つの行になり、列UserID
(1 など) はそのユーザーの行ごとに 1 になりますか?
UserID | WantsHouse | OtherOption | OtherOption |
--------------------------------------------------
1 | ??? | ??? | ???
WantsHouse
bool と emum の値があるので、これらの両方はどのように保存されますか?
リストはこれらを保存する最良の方法ですか? 最初にコードを使用する場合は正しい方法のように思えますが、リストを連続して格納することはできません。
最後に、上記の他のモデル (PreferenceOption
およびPreferenceOptions
) は永続化する必要がありますか? それらがメモリ内にのみ存在するだけで十分でしょうか? これらは、ユーザーが値を選択しやすくすることのみを目的としており、値は に保存されUserPreferences
ます。
すべてのヘルプとフィードバックに感謝します。