ドメインオブジェクトを表すインターフェースがあるとしましょう:
public interface IFoo
{
Bar Bar { get; }
}
Bar型はオブジェクトのファミリーであり、それぞれがわずかに異なるスキーマを持っています。データベースでは、これは XML として表されます (これはモバイル アプリであるため、単純nvarcharに であり、真の XML 列ではありません)。
および対応するオブジェクトDataSetを含む生成済みがあります。FooDataTableFooRow
// AcmeDataSet.designer.cs
public partial class FooRow : DataRow
{
public string BarXml
{
// Generated get and set
}
}
IFooの逆シリアル化されたインスタンスを実装してキャッシュしたいと思いますBar:
// FooRow.cs
public partial class FooRow : IFoo
{
private Bar _bar;
Bar IFoo.Bar
{
get { return _bar; }
}
}
部分クラス内から、 の値BarXmlが変更されたことをどのように判断できますか?
FooDataTableイベントが含まれColumnChangingていることColumnChangedはわかっていますが、それらをサブスクライブする方法がわかりません。Linq to Sql のOnCreated部分メソッドに類似するものはなく、生成されたコンストラクターにフックする別の方法を知りません。