private object ConvertToClrObject(IEdmPrimitiveValue edmPrimitiveValue) { IEdmIntegerValue integralValue = edmPrimitiveValue as IEdmIntegerValue; if (integralValue != null) { return(integralValue.Value); } throw new NotSupportedException("This method supports only integral types."); }
/// <summary> /// Converts an integer edm value to a clr value. /// </summary> /// <param name="integerValue">The integer value.</param> /// <param name="primitiveKind">Kind of the primitive.</param> /// <returns>The converted value</returns> private static object ConvertIntegerValue(IEdmIntegerValue integerValue, EdmPrimitiveTypeKind primitiveKind) { Debug.Assert(integerValue != null, "integerValue != null"); long longValue = integerValue.Value; switch (primitiveKind) { case EdmPrimitiveTypeKind.Int16: return(Convert.ToInt16(longValue)); case EdmPrimitiveTypeKind.Int32: return(Convert.ToInt32(longValue)); case EdmPrimitiveTypeKind.Byte: return(Convert.ToByte(longValue)); case EdmPrimitiveTypeKind.SByte: return(Convert.ToSByte(longValue)); default: Debug.Assert(primitiveKind == EdmPrimitiveTypeKind.Int64, "primitiveKind == EdmPrimitiveTypeKind.Int64"); return(longValue); } }
/// <summary> /// Converts an integer edm value to a clr value. /// </summary> /// <param name="integerValue">The integer value.</param> /// <param name="primitiveKind">Kind of the primitive.</param> /// <returns>The converted value</returns> private static object ConvertIntegerValue(IEdmIntegerValue integerValue, EdmPrimitiveTypeKind primitiveKind) { Debug.Assert(integerValue != null, "integerValue != null"); long longValue = integerValue.Value; switch (primitiveKind) { case EdmPrimitiveTypeKind.Int16: return Convert.ToInt16(longValue); case EdmPrimitiveTypeKind.Int32: return Convert.ToInt32(longValue); case EdmPrimitiveTypeKind.Byte: return Convert.ToByte(longValue); case EdmPrimitiveTypeKind.SByte: return Convert.ToSByte(longValue); default: Debug.Assert(primitiveKind == EdmPrimitiveTypeKind.Int64, "primitiveKind == EdmPrimitiveTypeKind.Int64"); return longValue; } }