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 回答