エンティティフレームワーク4-プロパティセッターにロジックを注入する方法は?

StackOverflow https://stackoverflow.com/questions/3729046

質問

EDMXのデータベースから自動生成されたプロパティがあります。 説明. 。次に、エンティティの「部分クラス」.csファイルを作成し、読み取り専用プロパティを追加します。 簡単な説明. 。 ShortDescriptionのGetterは、単に説明を処理します(ラインフィード、キャリッジリターンなどを削除します)。

説明のセッターでShortDescriptionのプロパティ変更通知を提起するにはどうすればよいですか?

ありがとう!

役に立ちましたか?

解決

これはハックになるでしょうが、それを行うことができます。

まず、オーバーライドする必要があります ReportPropertyChangingReportPropertyChanged. 。次に、プロパティの名前のパラメーターを確認します...この場合は「説明」です。発生した場合は、電話してください ReportPropertyChanging また ReportPropertyChanged 派生したプロパティ名、この場合は「shortdescription」。パラメーターの他の値については、のベースバージョンを呼び出します ReportPropertyChanging/Changed.

編集: 例えば:

    protected override void OnPropertyChanging(string property)
    {
        if (property == "Description")
        {
            base.OnPropertyChanging("ShortDescription");
        }
        base.OnPropertyChanging(property);
    }

    protected override void OnPropertyChanged(string property)
    {
        if (property == "Description")
        {
            base.OnPropertyChanged("ShortDescription");
        }
        base.OnPropertyChanged(property);
    }

他のヒント

メソッドも部分的なので、部分的なクラスではこのようなコードを追加できます

 partial void OnDescriptionChanged()
  {
    OnPropertyChanged("ShortDescription"); 
  }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top