ErraticMotion.DynamicDto (nuget): Uses Reflection.Emit to dynamically build data transfer objects based on an interface not a type.
Keywords: DTO