protected void UseDefines(DTObject arg, Action <AggregateRootDefine, object> action) { var typeName = arg.GetValue <string>("typeName"); var defines = RemoteType.GetDefines(typeName); foreach (var define in defines) { var idProperty = DomainProperty.GetProperty(define.MetadataType, EntityObject.IdPropertyName); var id = DataUtil.ToValue(arg.GetValue(EntityObject.IdPropertyName), idProperty.PropertyType); action((AggregateRootDefine)define, id); } }