1

一部のドメイン クラスには、番地の複合型が含まれています。変更のログを取得しており、ObjectStateEntry.CurrentValues からアドレス オブジェクトを再構築できるようにしたいと考えています。

私のコードの詳細はこちら

そして、答えが示唆するように、CurrentValues からアドレスを抽出したいと思います。

デバッガーの _userObject プロパティでアドレスを確認できますが、それを抽出する方法がわかりません。

私が試してみました

var obj = entry.CurrentValues[ordinal];
var rec = (DbDataRecord)obj;

次に何をすべきですか?

4

1 に答える 1

0
    public static T ConvertTo<T>(this DbDataRecord record)
    {
        T item = Activator.CreateInstance<T>();
        for (int f = 0; f < record.FieldCount; f++)
        {
            var p = item.GetType().GetProperty(record.GetName(f));
            if (p != null && p.PropertyType == record.GetFieldType(f))
            {
                p.SetValue(item, record.GetValue(f), null);
            }
        }

        return item;
    }
于 2013-11-04T11:00:25.020 に答える