2012-04-16 5 views
2

私はWPFの新機能です。私は、MVVMデザインパターンを利用するプログラムを作成しようとしています。wpfに静的データを入れる場所は?

私のプログラムには、起動時にデータベースからフェッチされ、それ以降は静的な国のリストがあります。これらを置く場所はどこですか?

abstract class AbstractViewModel 
{ 
    static Jurisdiction[] jurisdictionOptions; 
    public Jurisdiction[] JurisdictionOptions 
    { 
     get { 
      if (jurisdictionOptions == null) 
      { 
       using (var db = new DatabaseContext()) 
       { 
        jurisdictionOptions = db.Jurisdictions.ToArray(); 
       } 
      } 
      return jurisdictionOptions; 
     } 
    } 
} 

私はその後、JurisdictionOptionsへのUIElementのItemSourceを設定することができます。現時点では、私は彼らが私のViewModelクラス階層の最上位に座っています。

これを是正する正しい方法ですか?

答えて

4

MVVMパターンを実装する場合は、モデルクラスも用意する必要があります。

一般に、データベースコードはモデルの中に配置する必要があります。

+0

「管轄」はモデルクラスです。エンティティフレームワークを使用してデータアクセスを提供していますが、あまりにも多くのメソッドで使用するモデルクラスをロードしたくありませんでした。おそらく、エンティティフレームワーククラスと私のビューモデルの間に新しいクラスのレイヤを導入する必要があるかもしれません。 – Oliver

関連する問題