我的某些域类包含街道地址的复杂类型。 我正在捕获我的更改日志,并希望能够从ObjectStateEntry.CurrentValues
重建地址对象我的代码详细here
我想从CurrentValues中提取地址,如答案所示。
我可以在调试器的_userObject属性中看到地址,但我不知道如何提取它。
我试过了
var obj = entry.CurrentValues[ordinal];
var rec = (DbDataRecord)obj;
下一步应该是什么?
答案 0 :(得分: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;
}