public virtual void Columns_have_expected_data_types() { var actual = BuiltInDataTypesSqlServerTest.QueryForColumnTypes( CreateContext(), nameof(ObjectBackedDataTypes), nameof(NullableBackedDataTypes), nameof(NonNullableBackedDataTypes)); const string expected = @"Animal.Id ---> [int] [Precision = 10 Scale = 0] AnimalDetails.AnimalId ---> [nullable int] [Precision = 10 Scale = 0] AnimalDetails.BoolField ---> [int] [Precision = 10 Scale = 0] AnimalDetails.Id ---> [int] [Precision = 10 Scale = 0] AnimalIdentification.AnimalId ---> [int] [Precision = 10 Scale = 0] AnimalIdentification.Id ---> [int] [Precision = 10 Scale = 0] AnimalIdentification.Method ---> [int] [Precision = 10 Scale = 0] BinaryForeignKeyDataType.BinaryKeyDataTypeId ---> [nullable varbinary] [MaxLength = 900] BinaryForeignKeyDataType.Id ---> [int] [Precision = 10 Scale = 0] BinaryKeyDataType.Ex ---> [nullable nvarchar] [MaxLength = -1] BinaryKeyDataType.Id ---> [varbinary] [MaxLength = 900] Blog.BlogId ---> [int] [Precision = 10 Scale = 0] Blog.Discriminator ---> [nvarchar] [MaxLength = -1] Blog.IsVisible ---> [nvarchar] [MaxLength = 1] Blog.RssUrl ---> [nullable nvarchar] [MaxLength = -1] Blog.Url ---> [nullable nvarchar] [MaxLength = -1] BuiltInDataTypes.Enum16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.Enum32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.Enum64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.Enum8 ---> [varchar] [MaxLength = -1] BuiltInDataTypes.EnumS8 ---> [nvarchar] [MaxLength = 24] BuiltInDataTypes.EnumU16 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypes.EnumU32 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypes.EnumU64 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypes.Id ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypes.PartitionId ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestBoolean ---> [nchar] [MaxLength = 4] BuiltInDataTypes.TestByte ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypes.TestCharacter ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypes.TestDateTime ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestDateTimeOffset ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestDecimal ---> [varbinary] [MaxLength = 16] BuiltInDataTypes.TestDouble ---> [decimal] [Precision = 26 Scale = 16] BuiltInDataTypes.TestInt16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestInt32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestInt64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestSignedByte ---> [decimal] [Precision = 18 Scale = 2] BuiltInDataTypes.TestSingle ---> [float] [Precision = 53] BuiltInDataTypes.TestTimeSpan ---> [float] [Precision = 53] BuiltInDataTypes.TestUnsignedInt16 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypes.TestUnsignedInt32 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypes.TestUnsignedInt64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.Enum16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.Enum32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.Enum64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.Enum8 ---> [nvarchar] [MaxLength = -1] BuiltInDataTypesShadow.EnumS8 ---> [nvarchar] [MaxLength = -1] BuiltInDataTypesShadow.EnumU16 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypesShadow.EnumU32 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypesShadow.EnumU64 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypesShadow.Id ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypesShadow.PartitionId ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestBoolean ---> [nvarchar] [MaxLength = -1] BuiltInDataTypesShadow.TestByte ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypesShadow.TestCharacter ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypesShadow.TestDateTime ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestDateTimeOffset ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestDecimal ---> [varbinary] [MaxLength = 16] BuiltInDataTypesShadow.TestDouble ---> [decimal] [Precision = 26 Scale = 16] BuiltInDataTypesShadow.TestInt16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestInt32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestInt64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestSignedByte ---> [decimal] [Precision = 18 Scale = 2] BuiltInDataTypesShadow.TestSingle ---> [float] [Precision = 53] BuiltInDataTypesShadow.TestTimeSpan ---> [float] [Precision = 53] BuiltInDataTypesShadow.TestUnsignedInt16 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypesShadow.TestUnsignedInt32 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypesShadow.TestUnsignedInt64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.Enum16 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.Enum32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.Enum64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.Enum8 ---> [nullable nvarchar] [MaxLength = -1] BuiltInNullableDataTypes.EnumS8 ---> [nullable nvarchar] [MaxLength = -1] BuiltInNullableDataTypes.EnumU16 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypes.EnumU32 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypes.EnumU64 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypes.Id ---> [int] [Precision = 10 Scale = 0] BuiltInNullableDataTypes.PartitionId ---> [bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestByteArray ---> [nullable varbinary] [MaxLength = -1] BuiltInNullableDataTypes.TestNullableBoolean ---> [nullable nvarchar] [MaxLength = -1] BuiltInNullableDataTypes.TestNullableByte ---> [nullable int] [Precision = 10 Scale = 0] BuiltInNullableDataTypes.TestNullableCharacter ---> [nullable int] [Precision = 10 Scale = 0] BuiltInNullableDataTypes.TestNullableDateTime ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableDateTimeOffset ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableDecimal ---> [nullable varbinary] [MaxLength = 16] BuiltInNullableDataTypes.TestNullableDouble ---> [nullable decimal] [Precision = 26 Scale = 16] BuiltInNullableDataTypes.TestNullableInt16 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableInt32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableInt64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableSignedByte ---> [nullable decimal] [Precision = 18 Scale = 2] BuiltInNullableDataTypes.TestNullableSingle ---> [nullable float] [Precision = 53] BuiltInNullableDataTypes.TestNullableTimeSpan ---> [nullable float] [Precision = 53] BuiltInNullableDataTypes.TestNullableUnsignedInt16 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypes.TestNullableUnsignedInt32 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypes.TestNullableUnsignedInt64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestString ---> [nullable nvarchar] [MaxLength = -1] BuiltInNullableDataTypesShadow.Enum16 ---> [nullable smallint] [Precision = 5 Scale = 0] BuiltInNullableDataTypesShadow.Enum32 ---> [nullable int] [Precision = 10 Scale = 0] BuiltInNullableDataTypesShadow.Enum64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.Enum8 ---> [nullable tinyint] [Precision = 3 Scale = 0] BuiltInNullableDataTypesShadow.EnumS8 ---> [nullable smallint] [Precision = 5 Scale = 0] BuiltInNullableDataTypesShadow.EnumU16 ---> [nullable int] [Precision = 10 Scale = 0] BuiltInNullableDataTypesShadow.EnumU32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.EnumU64 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypesShadow.Id ---> [int] [Precision = 10 Scale = 0] BuiltInNullableDataTypesShadow.PartitionId ---> [int] [Precision = 10 Scale = 0] BuiltInNullableDataTypesShadow.TestByteArray ---> [nullable varbinary] [MaxLength = -1] BuiltInNullableDataTypesShadow.TestNullableBoolean ---> [nullable bit] BuiltInNullableDataTypesShadow.TestNullableByte ---> [nullable tinyint] [Precision = 3 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableCharacter ---> [nullable nvarchar] [MaxLength = 1] BuiltInNullableDataTypesShadow.TestNullableDateTime ---> [nullable datetime2] [Precision = 7] BuiltInNullableDataTypesShadow.TestNullableDateTimeOffset ---> [nullable datetimeoffset] [Precision = 7] BuiltInNullableDataTypesShadow.TestNullableDecimal ---> [nullable decimal] [Precision = 18 Scale = 2] BuiltInNullableDataTypesShadow.TestNullableDouble ---> [nullable float] [Precision = 53] BuiltInNullableDataTypesShadow.TestNullableInt16 ---> [nullable smallint] [Precision = 5 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableInt32 ---> [nullable int] [Precision = 10 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableInt64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableSignedByte ---> [nullable smallint] [Precision = 5 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableSingle ---> [nullable real] [Precision = 24] BuiltInNullableDataTypesShadow.TestNullableTimeSpan ---> [nullable time] [Precision = 7] BuiltInNullableDataTypesShadow.TestNullableUnsignedInt16 ---> [nullable int] [Precision = 10 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableUnsignedInt32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableUnsignedInt64 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypesShadow.TestString ---> [nullable nvarchar] [MaxLength = -1] EmailTemplate.Id ---> [uniqueidentifier] EmailTemplate.TemplateType ---> [int] [Precision = 10 Scale = 0] Load.Fuel ---> [float] [Precision = 53] Load.LoadId ---> [int] [Precision = 10 Scale = 0] MaxLengthDataTypes.ByteArray5 ---> [nullable varbinary] [MaxLength = 7] MaxLengthDataTypes.ByteArray9000 ---> [nullable nvarchar] [MaxLength = -1] MaxLengthDataTypes.Id ---> [int] [Precision = 10 Scale = 0] MaxLengthDataTypes.String3 ---> [nullable nvarchar] [MaxLength = 12] MaxLengthDataTypes.String9000 ---> [nullable varbinary] [MaxLength = -1] NonNullableDependent.Id ---> [int] [Precision = 10 Scale = 0] NonNullableDependent.PrincipalId ---> [int] [Precision = 10 Scale = 0] NullablePrincipal.Id ---> [int] [Precision = 10 Scale = 0] Order.Id ---> [nvarchar] [MaxLength = 450] Person.Id ---> [int] [Precision = 10 Scale = 0] Person.Name ---> [nullable nvarchar] [MaxLength = -1] Person.SSN ---> [nullable int] [Precision = 10 Scale = 0] Post.BlogId ---> [nullable int] [Precision = 10 Scale = 0] Post.PostId ---> [int] [Precision = 10 Scale = 0] SimpleCounter.CounterId ---> [int] [Precision = 10 Scale = 0] SimpleCounter.Discriminator ---> [nullable nvarchar] [MaxLength = -1] SimpleCounter.IsTest ---> [bit] SimpleCounter.StyleKey ---> [nullable nvarchar] [MaxLength = -1] StringForeignKeyDataType.Id ---> [int] [Precision = 10 Scale = 0] StringForeignKeyDataType.StringKeyDataTypeId ---> [nullable nvarchar] [MaxLength = 450] StringKeyDataType.Id ---> [nvarchar] [MaxLength = 450] StringListDataType.Id ---> [int] [Precision = 10 Scale = 0] StringListDataType.Strings ---> [nullable nvarchar] [MaxLength = -1] UnicodeDataTypes.Id ---> [int] [Precision = 10 Scale = 0] UnicodeDataTypes.StringAnsi ---> [nullable varchar] [MaxLength = -1] UnicodeDataTypes.StringAnsi3 ---> [nullable varchar] [MaxLength = 3] UnicodeDataTypes.StringAnsi9000 ---> [nullable varchar] [MaxLength = -1] UnicodeDataTypes.StringDefault ---> [nullable nvarchar] [MaxLength = -1] UnicodeDataTypes.StringUnicode ---> [nullable nvarchar] [MaxLength = -1] User.Email ---> [nullable nvarchar] [MaxLength = -1] User.Id ---> [uniqueidentifier] "; Assert.Equal(expected, actual, ignoreLineEndingDifferences: true); }
public virtual void Columns_have_expected_data_types() { var actual = BuiltInDataTypesSqlServerTest.QueryForColumnTypes(CreateContext()); const string expected = @"BinaryForeignKeyDataType.BinaryKeyDataTypeId ---> [nullable nvarchar] [MaxLength = 632] BinaryForeignKeyDataType.Id ---> [int] [Precision = 10 Scale = 0] BinaryKeyDataType.Id ---> [nvarchar] [MaxLength = 632] BuiltInDataTypes.Enum16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.Enum32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.Enum64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.Enum8 ---> [nvarchar] [MaxLength = 512] BuiltInDataTypes.EnumS8 ---> [nvarchar] [MaxLength = 512] BuiltInDataTypes.EnumU16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.EnumU32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.EnumU64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.Id ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypes.PartitionId ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestBoolean ---> [nvarchar] [MaxLength = 1] BuiltInDataTypes.TestByte ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypes.TestCharacter ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestDateTime ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestDateTimeOffset ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestDecimal ---> [varbinary] [MaxLength = 16] BuiltInDataTypes.TestDouble ---> [decimal] [Precision = 38 Scale = 17] BuiltInDataTypes.TestInt16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestInt32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestInt64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestSignedByte ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestSingle ---> [decimal] [Precision = 38 Scale = 17] BuiltInDataTypes.TestTimeSpan ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestUnsignedInt16 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypes.TestUnsignedInt32 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypes.TestUnsignedInt64 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypesShadow.Enum16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.Enum32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.Enum64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.Enum8 ---> [nvarchar] [MaxLength = 512] BuiltInDataTypesShadow.EnumS8 ---> [nvarchar] [MaxLength = 512] BuiltInDataTypesShadow.EnumU16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.EnumU32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.EnumU64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.Id ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypesShadow.PartitionId ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestBoolean ---> [nvarchar] [MaxLength = 1] BuiltInDataTypesShadow.TestByte ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypesShadow.TestCharacter ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestDateTime ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestDateTimeOffset ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestDecimal ---> [varbinary] [MaxLength = 16] BuiltInDataTypesShadow.TestDouble ---> [decimal] [Precision = 38 Scale = 17] BuiltInDataTypesShadow.TestInt16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestInt32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestInt64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestSignedByte ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestSingle ---> [decimal] [Precision = 38 Scale = 17] BuiltInDataTypesShadow.TestTimeSpan ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestUnsignedInt16 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypesShadow.TestUnsignedInt32 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypesShadow.TestUnsignedInt64 ---> [decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypes.Enum16 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.Enum32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.Enum64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.Enum8 ---> [nullable nvarchar] [MaxLength = 512] BuiltInNullableDataTypes.EnumS8 ---> [nullable nvarchar] [MaxLength = 512] BuiltInNullableDataTypes.EnumU16 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.EnumU32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.EnumU64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.Id ---> [int] [Precision = 10 Scale = 0] BuiltInNullableDataTypes.PartitionId ---> [bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestByteArray ---> [nullable varbinary] [MaxLength = -1] BuiltInNullableDataTypes.TestNullableBoolean ---> [nullable nvarchar] [MaxLength = 1] BuiltInNullableDataTypes.TestNullableByte ---> [nullable int] [Precision = 10 Scale = 0] BuiltInNullableDataTypes.TestNullableCharacter ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableDateTime ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableDateTimeOffset ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableDecimal ---> [nullable varbinary] [MaxLength = 16] BuiltInNullableDataTypes.TestNullableDouble ---> [nullable decimal] [Precision = 38 Scale = 17] BuiltInNullableDataTypes.TestNullableInt16 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableInt32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableInt64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableSignedByte ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableSingle ---> [nullable decimal] [Precision = 38 Scale = 17] BuiltInNullableDataTypes.TestNullableTimeSpan ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableUnsignedInt16 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypes.TestNullableUnsignedInt32 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypes.TestNullableUnsignedInt64 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypes.TestString ---> [nullable nvarchar] [MaxLength = -1] BuiltInNullableDataTypesShadow.Enum16 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.Enum32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.Enum64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.Enum8 ---> [nullable nvarchar] [MaxLength = 512] BuiltInNullableDataTypesShadow.EnumS8 ---> [nullable nvarchar] [MaxLength = 512] BuiltInNullableDataTypesShadow.EnumU16 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.EnumU32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.EnumU64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.Id ---> [int] [Precision = 10 Scale = 0] BuiltInNullableDataTypesShadow.PartitionId ---> [bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestByteArray ---> [nullable varbinary] [MaxLength = -1] BuiltInNullableDataTypesShadow.TestNullableBoolean ---> [nullable nvarchar] [MaxLength = 1] BuiltInNullableDataTypesShadow.TestNullableByte ---> [nullable int] [Precision = 10 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableCharacter ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableDateTime ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableDateTimeOffset ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableDecimal ---> [nullable varbinary] [MaxLength = 16] BuiltInNullableDataTypesShadow.TestNullableDouble ---> [nullable decimal] [Precision = 38 Scale = 17] BuiltInNullableDataTypesShadow.TestNullableInt16 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableInt32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableInt64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableSignedByte ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableSingle ---> [nullable decimal] [Precision = 38 Scale = 17] BuiltInNullableDataTypesShadow.TestNullableTimeSpan ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableUnsignedInt16 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableUnsignedInt32 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableUnsignedInt64 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypesShadow.TestString ---> [nullable nvarchar] [MaxLength = -1] MaxLengthDataTypes.ByteArray5 ---> [nullable nvarchar] [MaxLength = 8] MaxLengthDataTypes.ByteArray9000 ---> [nullable nvarchar] [MaxLength = -1] MaxLengthDataTypes.Id ---> [int] [Precision = 10 Scale = 0] MaxLengthDataTypes.String3 ---> [nullable varbinary] [MaxLength = 3] MaxLengthDataTypes.String9000 ---> [nullable varbinary] [MaxLength = -1] StringForeignKeyDataType.Id ---> [int] [Precision = 10 Scale = 0] StringForeignKeyDataType.StringKeyDataTypeId ---> [nullable varbinary] [MaxLength = 900] StringKeyDataType.Id ---> [varbinary] [MaxLength = 900] UnicodeDataTypes.Id ---> [int] [Precision = 10 Scale = 0] UnicodeDataTypes.StringAnsi ---> [nullable varchar] [MaxLength = -1] UnicodeDataTypes.StringAnsi3 ---> [nullable varchar] [MaxLength = 3] UnicodeDataTypes.StringAnsi9000 ---> [nullable varchar] [MaxLength = -1] UnicodeDataTypes.StringDefault ---> [nullable nvarchar] [MaxLength = -1] UnicodeDataTypes.StringUnicode ---> [nullable nvarchar] [MaxLength = -1] "; Assert.Equal(expected, actual, ignoreLineEndingDifferences: true); }
public virtual void Columns_have_expected_data_types() { var actual = BuiltInDataTypesSqlServerTest.QueryForColumnTypes(CreateContext()); const string expected = @"BinaryForeignKeyDataType.BinaryKeyDataTypeId ---> [nullable varbinary] [MaxLength = 900] BinaryForeignKeyDataType.Id ---> [int] [Precision = 10 Scale = 0] BinaryKeyDataType.Id ---> [varbinary] [MaxLength = 900] BuiltInDataTypes.Enum16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.Enum32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.Enum64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.Enum8 ---> [varchar] [MaxLength = -1] BuiltInDataTypes.EnumS8 ---> [nvarchar] [MaxLength = 24] BuiltInDataTypes.EnumU16 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypes.EnumU32 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypes.EnumU64 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypes.Id ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypes.PartitionId ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestBoolean ---> [nchar] [MaxLength = 4] BuiltInDataTypes.TestByte ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypes.TestCharacter ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypes.TestDateTime ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestDateTimeOffset ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestDecimal ---> [varbinary] [MaxLength = 16] BuiltInDataTypes.TestDouble ---> [decimal] [Precision = 26 Scale = 16] BuiltInDataTypes.TestInt16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestInt32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestInt64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestSignedByte ---> [decimal] [Precision = 18 Scale = 2] BuiltInDataTypes.TestSingle ---> [float] [Precision = 53] BuiltInDataTypes.TestTimeSpan ---> [float] [Precision = 53] BuiltInDataTypes.TestUnsignedInt16 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypes.TestUnsignedInt32 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypes.TestUnsignedInt64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.Enum16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.Enum32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.Enum64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.Enum8 ---> [nvarchar] [MaxLength = -1] BuiltInDataTypesShadow.EnumS8 ---> [nvarchar] [MaxLength = -1] BuiltInDataTypesShadow.EnumU16 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypesShadow.EnumU32 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypesShadow.EnumU64 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypesShadow.Id ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypesShadow.PartitionId ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestBoolean ---> [nvarchar] [MaxLength = -1] BuiltInDataTypesShadow.TestByte ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypesShadow.TestCharacter ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypesShadow.TestDateTime ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestDateTimeOffset ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestDecimal ---> [varbinary] [MaxLength = 16] BuiltInDataTypesShadow.TestDouble ---> [decimal] [Precision = 26 Scale = 16] BuiltInDataTypesShadow.TestInt16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestInt32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestInt64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestSignedByte ---> [decimal] [Precision = 18 Scale = 2] BuiltInDataTypesShadow.TestSingle ---> [float] [Precision = 53] BuiltInDataTypesShadow.TestTimeSpan ---> [float] [Precision = 53] BuiltInDataTypesShadow.TestUnsignedInt16 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypesShadow.TestUnsignedInt32 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypesShadow.TestUnsignedInt64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.Enum16 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.Enum32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.Enum64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.Enum8 ---> [nullable nvarchar] [MaxLength = -1] BuiltInNullableDataTypes.EnumS8 ---> [nullable nvarchar] [MaxLength = -1] BuiltInNullableDataTypes.EnumU16 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypes.EnumU32 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypes.EnumU64 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypes.Id ---> [int] [Precision = 10 Scale = 0] BuiltInNullableDataTypes.PartitionId ---> [bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestByteArray ---> [nullable varbinary] [MaxLength = -1] BuiltInNullableDataTypes.TestNullableBoolean ---> [nullable nvarchar] [MaxLength = -1] BuiltInNullableDataTypes.TestNullableByte ---> [nullable int] [Precision = 10 Scale = 0] BuiltInNullableDataTypes.TestNullableCharacter ---> [nullable int] [Precision = 10 Scale = 0] BuiltInNullableDataTypes.TestNullableDateTime ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableDateTimeOffset ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableDecimal ---> [nullable varbinary] [MaxLength = 16] BuiltInNullableDataTypes.TestNullableDouble ---> [nullable decimal] [Precision = 26 Scale = 16] BuiltInNullableDataTypes.TestNullableInt16 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableInt32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableInt64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableSignedByte ---> [nullable decimal] [Precision = 18 Scale = 2] BuiltInNullableDataTypes.TestNullableSingle ---> [nullable float] [Precision = 53] BuiltInNullableDataTypes.TestNullableTimeSpan ---> [nullable float] [Precision = 53] BuiltInNullableDataTypes.TestNullableUnsignedInt16 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypes.TestNullableUnsignedInt32 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypes.TestNullableUnsignedInt64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestString ---> [nullable nvarchar] [MaxLength = -1] BuiltInNullableDataTypesShadow.Enum16 ---> [nullable smallint] [Precision = 5 Scale = 0] BuiltInNullableDataTypesShadow.Enum32 ---> [nullable int] [Precision = 10 Scale = 0] BuiltInNullableDataTypesShadow.Enum64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.Enum8 ---> [nullable tinyint] [Precision = 3 Scale = 0] BuiltInNullableDataTypesShadow.EnumS8 ---> [nullable smallint] [Precision = 5 Scale = 0] BuiltInNullableDataTypesShadow.EnumU16 ---> [nullable int] [Precision = 10 Scale = 0] BuiltInNullableDataTypesShadow.EnumU32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.EnumU64 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypesShadow.Id ---> [int] [Precision = 10 Scale = 0] BuiltInNullableDataTypesShadow.PartitionId ---> [int] [Precision = 10 Scale = 0] BuiltInNullableDataTypesShadow.TestByteArray ---> [nullable varbinary] [MaxLength = -1] BuiltInNullableDataTypesShadow.TestNullableBoolean ---> [nullable bit] BuiltInNullableDataTypesShadow.TestNullableByte ---> [nullable tinyint] [Precision = 3 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableCharacter ---> [nullable nvarchar] [MaxLength = 1] BuiltInNullableDataTypesShadow.TestNullableDateTime ---> [nullable datetime2] [Precision = 7] BuiltInNullableDataTypesShadow.TestNullableDateTimeOffset ---> [nullable datetimeoffset] [Precision = 7] BuiltInNullableDataTypesShadow.TestNullableDecimal ---> [nullable decimal] [Precision = 18 Scale = 2] BuiltInNullableDataTypesShadow.TestNullableDouble ---> [nullable float] [Precision = 53] BuiltInNullableDataTypesShadow.TestNullableInt16 ---> [nullable smallint] [Precision = 5 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableInt32 ---> [nullable int] [Precision = 10 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableInt64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableSignedByte ---> [nullable smallint] [Precision = 5 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableSingle ---> [nullable real] [Precision = 24] BuiltInNullableDataTypesShadow.TestNullableTimeSpan ---> [nullable time] [Precision = 7] BuiltInNullableDataTypesShadow.TestNullableUnsignedInt16 ---> [nullable int] [Precision = 10 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableUnsignedInt32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableUnsignedInt64 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypesShadow.TestString ---> [nullable nvarchar] [MaxLength = -1] EmailTemplate.Id ---> [uniqueidentifier] EmailTemplate.TemplateType ---> [int] [Precision = 10 Scale = 0] Load.Fuel ---> [float] [Precision = 53] Load.LoadId ---> [int] [Precision = 10 Scale = 0] MaxLengthDataTypes.ByteArray5 ---> [nullable varbinary] [MaxLength = 7] MaxLengthDataTypes.ByteArray9000 ---> [nullable nvarchar] [MaxLength = -1] MaxLengthDataTypes.Id ---> [int] [Precision = 10 Scale = 0] MaxLengthDataTypes.String3 ---> [nullable nvarchar] [MaxLength = 12] MaxLengthDataTypes.String9000 ---> [nullable varbinary] [MaxLength = -1] StringForeignKeyDataType.Id ---> [int] [Precision = 10 Scale = 0] StringForeignKeyDataType.StringKeyDataTypeId ---> [nullable nvarchar] [MaxLength = 450] StringKeyDataType.Id ---> [nvarchar] [MaxLength = 450] StringListDataType.Id ---> [int] [Precision = 10 Scale = 0] StringListDataType.Strings ---> [nullable nvarchar] [MaxLength = -1] UnicodeDataTypes.Id ---> [int] [Precision = 10 Scale = 0] UnicodeDataTypes.StringAnsi ---> [nullable varchar] [MaxLength = -1] UnicodeDataTypes.StringAnsi3 ---> [nullable varchar] [MaxLength = 3] UnicodeDataTypes.StringAnsi9000 ---> [nullable varchar] [MaxLength = -1] UnicodeDataTypes.StringDefault ---> [nullable nvarchar] [MaxLength = -1] UnicodeDataTypes.StringUnicode ---> [nullable nvarchar] [MaxLength = -1] User.Email ---> [nullable nvarchar] [MaxLength = -1] User.Id ---> [uniqueidentifier] "; Assert.Equal(expected, actual, ignoreLineEndingDifferences: true); }
public virtual void Columns_have_expected_data_types() { var actual = BuiltInDataTypesSqlServerTest.QueryForColumnTypes( CreateContext(), nameof(ObjectBackedDataTypes), nameof(NullableBackedDataTypes), nameof(NonNullableBackedDataTypes), nameof(Animal), nameof(AnimalDetails), nameof(AnimalIdentification)); const string expected = @"BinaryForeignKeyDataType.BinaryKeyDataTypeId ---> [nullable varbinary] [MaxLength = 900] BinaryForeignKeyDataType.Id ---> [varbinary] [MaxLength = 4] BinaryKeyDataType.Ex ---> [nullable varbinary] [MaxLength = -1] BinaryKeyDataType.Id ---> [varbinary] [MaxLength = 900] BuiltInDataTypes.Enum16 ---> [varbinary] [MaxLength = 2] BuiltInDataTypes.Enum32 ---> [varbinary] [MaxLength = 4] BuiltInDataTypes.Enum64 ---> [varbinary] [MaxLength = 8] BuiltInDataTypes.Enum8 ---> [varbinary] [MaxLength = 1] BuiltInDataTypes.EnumS8 ---> [varbinary] [MaxLength = 1] BuiltInDataTypes.EnumU16 ---> [varbinary] [MaxLength = 2] BuiltInDataTypes.EnumU32 ---> [varbinary] [MaxLength = 4] BuiltInDataTypes.EnumU64 ---> [varbinary] [MaxLength = 8] BuiltInDataTypes.Id ---> [varbinary] [MaxLength = 4] BuiltInDataTypes.PartitionId ---> [varbinary] [MaxLength = 4] BuiltInDataTypes.TestBoolean ---> [varbinary] [MaxLength = 1] BuiltInDataTypes.TestByte ---> [varbinary] [MaxLength = 1] BuiltInDataTypes.TestCharacter ---> [varbinary] [MaxLength = 2] BuiltInDataTypes.TestDateTime ---> [varbinary] [MaxLength = 8] BuiltInDataTypes.TestDateTimeOffset ---> [varbinary] [MaxLength = 12] BuiltInDataTypes.TestDecimal ---> [varbinary] [MaxLength = 16] BuiltInDataTypes.TestDouble ---> [varbinary] [MaxLength = 8] BuiltInDataTypes.TestInt16 ---> [varbinary] [MaxLength = 2] BuiltInDataTypes.TestInt32 ---> [varbinary] [MaxLength = 4] BuiltInDataTypes.TestInt64 ---> [varbinary] [MaxLength = 8] BuiltInDataTypes.TestSignedByte ---> [varbinary] [MaxLength = 1] BuiltInDataTypes.TestSingle ---> [varbinary] [MaxLength = 4] BuiltInDataTypes.TestTimeSpan ---> [varbinary] [MaxLength = 8] BuiltInDataTypes.TestUnsignedInt16 ---> [varbinary] [MaxLength = 2] BuiltInDataTypes.TestUnsignedInt32 ---> [varbinary] [MaxLength = 4] BuiltInDataTypes.TestUnsignedInt64 ---> [varbinary] [MaxLength = 8] BuiltInDataTypesShadow.Enum16 ---> [varbinary] [MaxLength = 2] BuiltInDataTypesShadow.Enum32 ---> [varbinary] [MaxLength = 4] BuiltInDataTypesShadow.Enum64 ---> [varbinary] [MaxLength = 8] BuiltInDataTypesShadow.Enum8 ---> [varbinary] [MaxLength = 1] BuiltInDataTypesShadow.EnumS8 ---> [varbinary] [MaxLength = 1] BuiltInDataTypesShadow.EnumU16 ---> [varbinary] [MaxLength = 2] BuiltInDataTypesShadow.EnumU32 ---> [varbinary] [MaxLength = 4] BuiltInDataTypesShadow.EnumU64 ---> [varbinary] [MaxLength = 8] BuiltInDataTypesShadow.Id ---> [varbinary] [MaxLength = 4] BuiltInDataTypesShadow.PartitionId ---> [varbinary] [MaxLength = 4] BuiltInDataTypesShadow.TestBoolean ---> [varbinary] [MaxLength = 1] BuiltInDataTypesShadow.TestByte ---> [varbinary] [MaxLength = 1] BuiltInDataTypesShadow.TestCharacter ---> [varbinary] [MaxLength = 2] BuiltInDataTypesShadow.TestDateTime ---> [varbinary] [MaxLength = 8] BuiltInDataTypesShadow.TestDateTimeOffset ---> [varbinary] [MaxLength = 12] BuiltInDataTypesShadow.TestDecimal ---> [varbinary] [MaxLength = 16] BuiltInDataTypesShadow.TestDouble ---> [varbinary] [MaxLength = 8] BuiltInDataTypesShadow.TestInt16 ---> [varbinary] [MaxLength = 2] BuiltInDataTypesShadow.TestInt32 ---> [varbinary] [MaxLength = 4] BuiltInDataTypesShadow.TestInt64 ---> [varbinary] [MaxLength = 8] BuiltInDataTypesShadow.TestSignedByte ---> [varbinary] [MaxLength = 1] BuiltInDataTypesShadow.TestSingle ---> [varbinary] [MaxLength = 4] BuiltInDataTypesShadow.TestTimeSpan ---> [varbinary] [MaxLength = 8] BuiltInDataTypesShadow.TestUnsignedInt16 ---> [varbinary] [MaxLength = 2] BuiltInDataTypesShadow.TestUnsignedInt32 ---> [varbinary] [MaxLength = 4] BuiltInDataTypesShadow.TestUnsignedInt64 ---> [varbinary] [MaxLength = 8] BuiltInNullableDataTypes.Enum16 ---> [nullable varbinary] [MaxLength = 2] BuiltInNullableDataTypes.Enum32 ---> [nullable varbinary] [MaxLength = 4] BuiltInNullableDataTypes.Enum64 ---> [nullable varbinary] [MaxLength = 8] BuiltInNullableDataTypes.Enum8 ---> [nullable varbinary] [MaxLength = 1] BuiltInNullableDataTypes.EnumS8 ---> [nullable varbinary] [MaxLength = 1] BuiltInNullableDataTypes.EnumU16 ---> [nullable varbinary] [MaxLength = 2] BuiltInNullableDataTypes.EnumU32 ---> [nullable varbinary] [MaxLength = 4] BuiltInNullableDataTypes.EnumU64 ---> [nullable varbinary] [MaxLength = 8] BuiltInNullableDataTypes.Id ---> [varbinary] [MaxLength = 4] BuiltInNullableDataTypes.PartitionId ---> [varbinary] [MaxLength = 4] BuiltInNullableDataTypes.TestByteArray ---> [nullable varbinary] [MaxLength = -1] BuiltInNullableDataTypes.TestNullableBoolean ---> [nullable varbinary] [MaxLength = 1] BuiltInNullableDataTypes.TestNullableByte ---> [nullable varbinary] [MaxLength = 1] BuiltInNullableDataTypes.TestNullableCharacter ---> [nullable varbinary] [MaxLength = 2] BuiltInNullableDataTypes.TestNullableDateTime ---> [nullable varbinary] [MaxLength = 8] BuiltInNullableDataTypes.TestNullableDateTimeOffset ---> [nullable varbinary] [MaxLength = 12] BuiltInNullableDataTypes.TestNullableDecimal ---> [nullable varbinary] [MaxLength = 16] BuiltInNullableDataTypes.TestNullableDouble ---> [nullable varbinary] [MaxLength = 8] BuiltInNullableDataTypes.TestNullableInt16 ---> [nullable varbinary] [MaxLength = 2] BuiltInNullableDataTypes.TestNullableInt32 ---> [nullable varbinary] [MaxLength = 4] BuiltInNullableDataTypes.TestNullableInt64 ---> [nullable varbinary] [MaxLength = 8] BuiltInNullableDataTypes.TestNullableSignedByte ---> [nullable varbinary] [MaxLength = 1] BuiltInNullableDataTypes.TestNullableSingle ---> [nullable varbinary] [MaxLength = 4] BuiltInNullableDataTypes.TestNullableTimeSpan ---> [nullable varbinary] [MaxLength = 8] BuiltInNullableDataTypes.TestNullableUnsignedInt16 ---> [nullable varbinary] [MaxLength = 2] BuiltInNullableDataTypes.TestNullableUnsignedInt32 ---> [nullable varbinary] [MaxLength = 4] BuiltInNullableDataTypes.TestNullableUnsignedInt64 ---> [nullable varbinary] [MaxLength = 8] BuiltInNullableDataTypes.TestString ---> [nullable varbinary] [MaxLength = -1] BuiltInNullableDataTypesShadow.Enum16 ---> [nullable varbinary] [MaxLength = 2] BuiltInNullableDataTypesShadow.Enum32 ---> [nullable varbinary] [MaxLength = 4] BuiltInNullableDataTypesShadow.Enum64 ---> [nullable varbinary] [MaxLength = 8] BuiltInNullableDataTypesShadow.Enum8 ---> [nullable varbinary] [MaxLength = 1] BuiltInNullableDataTypesShadow.EnumS8 ---> [nullable varbinary] [MaxLength = 1] BuiltInNullableDataTypesShadow.EnumU16 ---> [nullable varbinary] [MaxLength = 2] BuiltInNullableDataTypesShadow.EnumU32 ---> [nullable varbinary] [MaxLength = 4] BuiltInNullableDataTypesShadow.EnumU64 ---> [nullable varbinary] [MaxLength = 8] BuiltInNullableDataTypesShadow.Id ---> [varbinary] [MaxLength = 4] BuiltInNullableDataTypesShadow.PartitionId ---> [varbinary] [MaxLength = 4] BuiltInNullableDataTypesShadow.TestByteArray ---> [nullable varbinary] [MaxLength = -1] BuiltInNullableDataTypesShadow.TestNullableBoolean ---> [nullable varbinary] [MaxLength = 1] BuiltInNullableDataTypesShadow.TestNullableByte ---> [nullable varbinary] [MaxLength = 1] BuiltInNullableDataTypesShadow.TestNullableCharacter ---> [nullable varbinary] [MaxLength = 2] BuiltInNullableDataTypesShadow.TestNullableDateTime ---> [nullable varbinary] [MaxLength = 8] BuiltInNullableDataTypesShadow.TestNullableDateTimeOffset ---> [nullable varbinary] [MaxLength = 12] BuiltInNullableDataTypesShadow.TestNullableDecimal ---> [nullable varbinary] [MaxLength = 16] BuiltInNullableDataTypesShadow.TestNullableDouble ---> [nullable varbinary] [MaxLength = 8] BuiltInNullableDataTypesShadow.TestNullableInt16 ---> [nullable varbinary] [MaxLength = 2] BuiltInNullableDataTypesShadow.TestNullableInt32 ---> [nullable varbinary] [MaxLength = 4] BuiltInNullableDataTypesShadow.TestNullableInt64 ---> [nullable varbinary] [MaxLength = 8] BuiltInNullableDataTypesShadow.TestNullableSignedByte ---> [nullable varbinary] [MaxLength = 1] BuiltInNullableDataTypesShadow.TestNullableSingle ---> [nullable varbinary] [MaxLength = 4] BuiltInNullableDataTypesShadow.TestNullableTimeSpan ---> [nullable varbinary] [MaxLength = 8] BuiltInNullableDataTypesShadow.TestNullableUnsignedInt16 ---> [nullable varbinary] [MaxLength = 2] BuiltInNullableDataTypesShadow.TestNullableUnsignedInt32 ---> [nullable varbinary] [MaxLength = 4] BuiltInNullableDataTypesShadow.TestNullableUnsignedInt64 ---> [nullable varbinary] [MaxLength = 8] BuiltInNullableDataTypesShadow.TestString ---> [nullable varbinary] [MaxLength = -1] DateTimeEnclosure.DateTimeOffset ---> [nullable varbinary] [MaxLength = 12] DateTimeEnclosure.Id ---> [varbinary] [MaxLength = 4] EmailTemplate.Id ---> [varbinary] [MaxLength = 16] EmailTemplate.TemplateType ---> [varbinary] [MaxLength = 4] MaxLengthDataTypes.ByteArray5 ---> [nullable varbinary] [MaxLength = 5] MaxLengthDataTypes.ByteArray9000 ---> [nullable varbinary] [MaxLength = -1] MaxLengthDataTypes.Id ---> [varbinary] [MaxLength = 4] MaxLengthDataTypes.String3 ---> [nullable varbinary] [MaxLength = 3] MaxLengthDataTypes.String9000 ---> [nullable varbinary] [MaxLength = -1] StringEnclosure.Id ---> [varbinary] [MaxLength = 4] StringEnclosure.Value ---> [nullable varbinary] [MaxLength = -1] StringForeignKeyDataType.Id ---> [varbinary] [MaxLength = 4] StringForeignKeyDataType.StringKeyDataTypeId ---> [nullable varbinary] [MaxLength = 900] StringKeyDataType.Id ---> [varbinary] [MaxLength = 900] UnicodeDataTypes.Id ---> [varbinary] [MaxLength = 4] UnicodeDataTypes.StringAnsi ---> [nullable varbinary] [MaxLength = -1] UnicodeDataTypes.StringAnsi3 ---> [nullable varbinary] [MaxLength = 3] UnicodeDataTypes.StringAnsi9000 ---> [nullable varbinary] [MaxLength = -1] UnicodeDataTypes.StringDefault ---> [nullable varbinary] [MaxLength = -1] UnicodeDataTypes.StringUnicode ---> [nullable varbinary] [MaxLength = -1] "; Assert.Equal(expected, actual, ignoreLineEndingDifferences: true); }
public virtual void Columns_have_expected_data_types() { var actual = BuiltInDataTypesSqlServerTest.QueryForColumnTypes( CreateContext(), nameof(ObjectBackedDataTypes), nameof(NullableBackedDataTypes), nameof(NonNullableBackedDataTypes)); const string expected = @"Animal.Id ---> [int] [Precision = 10 Scale = 0] AnimalDetails.AnimalId ---> [nullable int] [Precision = 10 Scale = 0] AnimalDetails.BoolField ---> [int] [Precision = 10 Scale = 0] AnimalDetails.Id ---> [int] [Precision = 10 Scale = 0] AnimalIdentification.AnimalId ---> [int] [Precision = 10 Scale = 0] AnimalIdentification.Id ---> [int] [Precision = 10 Scale = 0] AnimalIdentification.Method ---> [nvarchar] [MaxLength = 6] BinaryForeignKeyDataType.BinaryKeyDataTypeId ---> [nullable nvarchar] [MaxLength = 450] BinaryForeignKeyDataType.Id ---> [int] [Precision = 10 Scale = 0] BinaryKeyDataType.Ex ---> [nullable nvarchar] [MaxLength = -1] BinaryKeyDataType.Id ---> [nvarchar] [MaxLength = 450] BuiltInDataTypes.Enum16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.Enum32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.Enum64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.Enum8 ---> [nchar] [MaxLength = 17] BuiltInDataTypes.EnumS8 ---> [varchar] [MaxLength = -1] BuiltInDataTypes.EnumU16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.EnumU32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.EnumU64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.Id ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypes.PartitionId ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestBoolean ---> [nvarchar] [MaxLength = 1] BuiltInDataTypes.TestByte ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypes.TestCharacter ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestDateTime ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestDateTimeOffset ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestDecimal ---> [varbinary] [MaxLength = 16] BuiltInDataTypes.TestDouble ---> [decimal] [Precision = 38 Scale = 17] BuiltInDataTypes.TestInt16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestInt32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestInt64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestSignedByte ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestSingle ---> [decimal] [Precision = 38 Scale = 17] BuiltInDataTypes.TestTimeSpan ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypes.TestUnsignedInt16 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypes.TestUnsignedInt32 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypes.TestUnsignedInt64 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypesShadow.Enum16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.Enum32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.Enum64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.Enum8 ---> [nvarchar] [MaxLength = -1] BuiltInDataTypesShadow.EnumS8 ---> [nvarchar] [MaxLength = -1] BuiltInDataTypesShadow.EnumU16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.EnumU32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.EnumU64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.Id ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypesShadow.PartitionId ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestBoolean ---> [nvarchar] [MaxLength = 1] BuiltInDataTypesShadow.TestByte ---> [int] [Precision = 10 Scale = 0] BuiltInDataTypesShadow.TestCharacter ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestDateTime ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestDateTimeOffset ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestDecimal ---> [varbinary] [MaxLength = 16] BuiltInDataTypesShadow.TestDouble ---> [decimal] [Precision = 38 Scale = 17] BuiltInDataTypesShadow.TestInt16 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestInt32 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestInt64 ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestSignedByte ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestSingle ---> [decimal] [Precision = 38 Scale = 17] BuiltInDataTypesShadow.TestTimeSpan ---> [bigint] [Precision = 19 Scale = 0] BuiltInDataTypesShadow.TestUnsignedInt16 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypesShadow.TestUnsignedInt32 ---> [decimal] [Precision = 20 Scale = 0] BuiltInDataTypesShadow.TestUnsignedInt64 ---> [decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypes.Enum16 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.Enum32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.Enum64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.Enum8 ---> [nullable nvarchar] [MaxLength = -1] BuiltInNullableDataTypes.EnumS8 ---> [nullable nvarchar] [MaxLength = -1] BuiltInNullableDataTypes.EnumU16 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.EnumU32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.EnumU64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.Id ---> [int] [Precision = 10 Scale = 0] BuiltInNullableDataTypes.PartitionId ---> [bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestByteArray ---> [nullable varbinary] [MaxLength = -1] BuiltInNullableDataTypes.TestNullableBoolean ---> [nullable nvarchar] [MaxLength = 1] BuiltInNullableDataTypes.TestNullableByte ---> [nullable int] [Precision = 10 Scale = 0] BuiltInNullableDataTypes.TestNullableCharacter ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableDateTime ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableDateTimeOffset ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableDecimal ---> [nullable varbinary] [MaxLength = 16] BuiltInNullableDataTypes.TestNullableDouble ---> [nullable decimal] [Precision = 38 Scale = 17] BuiltInNullableDataTypes.TestNullableInt16 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableInt32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableInt64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableSignedByte ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableSingle ---> [nullable decimal] [Precision = 38 Scale = 17] BuiltInNullableDataTypes.TestNullableTimeSpan ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypes.TestNullableUnsignedInt16 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypes.TestNullableUnsignedInt32 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypes.TestNullableUnsignedInt64 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypes.TestString ---> [nullable nvarchar] [MaxLength = -1] BuiltInNullableDataTypesShadow.Enum16 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.Enum32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.Enum64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.Enum8 ---> [nullable nvarchar] [MaxLength = -1] BuiltInNullableDataTypesShadow.EnumS8 ---> [nullable nvarchar] [MaxLength = -1] BuiltInNullableDataTypesShadow.EnumU16 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.EnumU32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.EnumU64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.Id ---> [int] [Precision = 10 Scale = 0] BuiltInNullableDataTypesShadow.PartitionId ---> [bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestByteArray ---> [nullable varbinary] [MaxLength = -1] BuiltInNullableDataTypesShadow.TestNullableBoolean ---> [nullable nvarchar] [MaxLength = 1] BuiltInNullableDataTypesShadow.TestNullableByte ---> [nullable int] [Precision = 10 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableCharacter ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableDateTime ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableDateTimeOffset ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableDecimal ---> [nullable varbinary] [MaxLength = 16] BuiltInNullableDataTypesShadow.TestNullableDouble ---> [nullable decimal] [Precision = 38 Scale = 17] BuiltInNullableDataTypesShadow.TestNullableInt16 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableInt32 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableInt64 ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableSignedByte ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableSingle ---> [nullable decimal] [Precision = 38 Scale = 17] BuiltInNullableDataTypesShadow.TestNullableTimeSpan ---> [nullable bigint] [Precision = 19 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableUnsignedInt16 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableUnsignedInt32 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypesShadow.TestNullableUnsignedInt64 ---> [nullable decimal] [Precision = 20 Scale = 0] BuiltInNullableDataTypesShadow.TestString ---> [nullable nvarchar] [MaxLength = -1] DateTimeEnclosure.DateTimeOffset ---> [nullable datetimeoffset] [Precision = 7] DateTimeEnclosure.Id ---> [int] [Precision = 10 Scale = 0] EmailTemplate.Id ---> [uniqueidentifier] EmailTemplate.TemplateType ---> [int] [Precision = 10 Scale = 0] MaxLengthDataTypes.ByteArray5 ---> [nullable nvarchar] [MaxLength = 8] MaxLengthDataTypes.ByteArray9000 ---> [nullable nvarchar] [MaxLength = -1] MaxLengthDataTypes.Id ---> [int] [Precision = 10 Scale = 0] MaxLengthDataTypes.String3 ---> [nullable varbinary] [MaxLength = 3] MaxLengthDataTypes.String9000 ---> [nullable varbinary] [MaxLength = -1] StringEnclosure.Id ---> [int] [Precision = 10 Scale = 0] StringEnclosure.Value ---> [nullable nvarchar] [MaxLength = -1] StringForeignKeyDataType.Id ---> [int] [Precision = 10 Scale = 0] StringForeignKeyDataType.StringKeyDataTypeId ---> [nullable varbinary] [MaxLength = 900] StringKeyDataType.Id ---> [varbinary] [MaxLength = 900] UnicodeDataTypes.Id ---> [int] [Precision = 10 Scale = 0] UnicodeDataTypes.StringAnsi ---> [nullable varchar] [MaxLength = -1] UnicodeDataTypes.StringAnsi3 ---> [nullable varchar] [MaxLength = 3] UnicodeDataTypes.StringAnsi9000 ---> [nullable varchar] [MaxLength = -1] UnicodeDataTypes.StringDefault ---> [nullable nvarchar] [MaxLength = -1] UnicodeDataTypes.StringUnicode ---> [nullable nvarchar] [MaxLength = -1] "; Assert.Equal(expected, actual, ignoreLineEndingDifferences: true); }