private IComparable GetValue(ParameterMarkerExpressionSegment expressionSegment, ParameterContext parameterContext) { object result = parameterContext.GetParameterValue(expressionSegment.GetParameterName()); ShardingAssert.Else(result is IComparable, "Sharding value must implements IComparable."); return((IComparable)result); }
public static object GetParameterValue(this List <object> parameters, ParameterMarkerExpressionSegment parameterMarkerExpressionSegment) { var parameter = parameters.Select(o => (DbParameter)o).FirstOrDefault(o => o.ParameterName.Equals(parameterMarkerExpressionSegment.GetParameterName())); ShardingAssert.ShouldBeNotNull(parameter, $"Sharding value cant find parameter name :[{parameterMarkerExpressionSegment.GetParameterName()}]."); return(parameter.Value); }