public Func <object, object> GetToDbConverter(PropertyInfo sourceProperty) { if (typeof(IIdentity <int>).IsAssignableFrom(sourceProperty.PropertyType)) { return((x) => { if (x == null) { return null; } else if (typeof(IIdentity <int>).IsAssignableFrom(x.GetType())) { return ((IIdentity <int>)x).RawValue; } else { return x; } }); } if (typeof(IIdentity <Guid>).IsAssignableFrom(sourceProperty.PropertyType)) { return((x) => { if (x == null) { return null; } else if (typeof(IIdentity <Guid>).IsAssignableFrom(x.GetType())) { return ((IIdentity <Guid>)x).RawValue; } else { return x; } }); } else { return(standardMapper.GetToDbConverter(sourceProperty)); } }