/// <summary> /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to /// the same compatibility standards as public APIs. It may be changed or removed without notice in /// any release. You should only use it directly in your code with extreme caution and knowing that /// doing so can result in application failures when updating to a new Entity Framework Core release. /// </summary> public override Expression BindToParameter(ParameterBindingInfo bindingInfo) { var property = ConsumedProperties[0]; return(Expression.Call( EntityMaterializerSource.TryReadValueMethod.MakeGenericMethod(property.ClrType), Expression.Call(bindingInfo.MaterializationContextExpression, MaterializationContext.GetValueBufferMethod), Expression.Constant(bindingInfo.GetValueBufferIndex(property)))); }
/// <summary> /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// </summary> public override Expression BindToParameter(ParameterBindingInfo bindingInfo) => Expression.Call( EntityMaterializerSource.TryReadValueMethod.MakeGenericMethod(ConsumedProperty.ClrType), bindingInfo.ValueBufferExpression, Expression.Constant(bindingInfo.GetValueBufferIndex(ConsumedProperty)), Expression.Constant(ConsumedProperty, typeof(IPropertyBase)));