in EntityFramework/src/Metadata.cs [82:111]
public static DbType GetDbType(TypeUsage typeUsage)
{
PrimitiveType pt = (PrimitiveType)typeUsage.EdmType;
switch (pt.PrimitiveTypeKind)
{
case PrimitiveTypeKind.Geometry: return DbType.Object;
case PrimitiveTypeKind.Binary: return DbType.Binary;
case PrimitiveTypeKind.Boolean: return DbType.Boolean;
case PrimitiveTypeKind.Byte: return DbType.Byte;
case PrimitiveTypeKind.DateTime: return DbType.DateTime;
case PrimitiveTypeKind.DateTimeOffset: return DbType.DateTime;
case PrimitiveTypeKind.Decimal: return DbType.Decimal;
case PrimitiveTypeKind.Double: return DbType.Double;
case PrimitiveTypeKind.Single: return DbType.Single;
case PrimitiveTypeKind.Guid: return DbType.Guid;
case PrimitiveTypeKind.Int16: return DbType.Int16;
case PrimitiveTypeKind.Int32: return DbType.Int32;
case PrimitiveTypeKind.Int64: return DbType.Int64;
case PrimitiveTypeKind.SByte: return DbType.SByte;
case PrimitiveTypeKind.String: return DbType.String;
case PrimitiveTypeKind.Time: return DbType.Time;
// case PrimitiveTypeKind.UInt16: return DbType.UInt16;
// case PrimitiveTypeKind.UInt32: return DbType.UInt32;
// case PrimitiveTypeKind.UInt64: return DbType.UInt64;
default:
throw new InvalidOperationException(
string.Format("Unknown PrimitiveTypeKind {0}", pt.PrimitiveTypeKind));
}
}