public PropertyMapFuncHelper(PropertyMap propertyMap, Expression destination, TypeMapPlanBuilder parentBuilder) { this.propertyMap = propertyMap; this.destination = destination; _parentBuilder = parentBuilder; _sourceType = propertyMap.SourceMember.GetMemberType(); }
public Expression CreateExpression(TypeMapPlanBuilder builder) { var valueResolverExpression = ResolveSource(builder.Source, builder.Context); var sourceType = valueResolverExpression.Type; var resolvedValue = Variable(sourceType, "resolvedValue"); return Block(new[] { resolvedValue }, Assign(resolvedValue, valueResolverExpression), builder.MapExpression(new TypePair(sourceType, DestinationType), resolvedValue)); }