2011-11-02 23 views
2

EFが接続しているサーバーの名前を変更することは可能ですか?EFとWPF Datagridバインディングの問題

私は、5つのサーバー(異なる環境、Dev、Test、UAT ...)上に同じデータベースを持っており、ダッシュボードアプリケーションを作成して、 DDL。

私はEntity Framework 4/WPF/C#を使用しています。新しいObservableCollection(context.EntitySet)は、XAMLのWPF DataGridにバインドされています。これは正常に動作します。 ObjectContextは私は

初めてに接続するデータベースを表している、私は、次のコードを

   entities = new EpolicyEntities(environmentConnStr); 
      customTexts = new ObservableCollection<C_CustomTextType>(from i in entities.C_CustomTextType select i); 
      languages = new ObservableCollection<C_Language>(from i in entities.C_Language select i); 
      userTypes = new ObservableCollection<C_UserType>(from i in entities.C_UserType select i); 
      EPolicies = new ObservableCollection<EPolicy>(from e in entities.EPolicies select e); 

エンティティを呼び出すビューモデルに

<grid:RadGridView ItemsSource="{Binding EPolicies}" IsReadOnly="True" RowDetailsVisibilityMode="VisibleWhenSelected" RowIndicatorVisibility="Collapsed" AutoGenerateColumns="False"> 

に従うようにXAMLグリッド結合 であることうまく動作しますが、2度目でもEPoliciesオブジェクトの新しい値を見ることができます。グリッドは私が望むようにリフレッシュされません。 EPoliciesは以下のように定義されたプロパティです public ObservableCollection EPolicies { get {return ePolicies; } セット { ePolicies = value; OnPropertyChanged(()=> EPolicies); } } 誰かが私を助けてくれますか? ありがとう

誰でもこれを行いましたか?

答えて

2

わかりました。

問題

は、プロパティ

public ObservableCollection EPolicies {      

    get { return ePolicies; } 

    set { 
     ePolicies = value; OnPropertyChanged(() => EPolicies); 
    } 
} 

OnpropertyChangedなくBase.OnPropertyChangedを呼び出すことであるということでした。 なぜこのように動作するのか不明な点は、イベントがバブリングされていない可能性があるということです。 誰かが答えを持っていますか?

関連する問題