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