@@ -35,6 +35,18 @@ public void CustomIdColumn()
35
35
36
36
infoSchema . Should ( ) . Contain ( columns => columns . ColumnName == customIdName ) ;
37
37
}
38
+
39
+ // verify Id column has identity property
40
+ using ( var conn = new SqlConnection ( DatabaseFixture . LogEventsConnectionString ) )
41
+ {
42
+ var isIdentity = conn . Query < IdentityQuery > ( $ "SELECT COLUMNPROPERTY(object_id('{ logTableName } '), '{ customIdName } ', 'IsIdentity') AS IsIdentity") ;
43
+ isIdentity . Should ( ) . Contain ( i => i . IsIdentity == 1 ) ;
44
+ }
45
+ }
46
+
47
+ internal class IdentityQuery
48
+ {
49
+ public int IsIdentity { get ; set ; }
38
50
}
39
51
40
52
[ Fact ]
@@ -48,13 +60,21 @@ public void DefaultIdColumn()
48
60
var sink = new MSSqlServerSink ( DatabaseFixture . LogEventsConnectionString , logTableName , 1 , TimeSpan . FromSeconds ( 1 ) , null , true , options ) ;
49
61
50
62
// assert
63
+ var idColumnName = "Id" ;
51
64
using ( var conn = new SqlConnection ( DatabaseFixture . MasterConnectionString ) )
52
65
{
53
66
conn . Execute ( $ "use { DatabaseFixture . Database } ") ;
54
67
var logEvents = conn . Query < InfoSchema > ( $@ "SELECT COLUMN_NAME AS ColumnName FROM { DatabaseFixture . Database } .INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '{ logTableName } '") ;
55
68
var infoSchema = logEvents as InfoSchema [ ] ?? logEvents . ToArray ( ) ;
56
69
57
- infoSchema . Should ( ) . Contain ( columns => columns . ColumnName == "Id" ) ;
70
+ infoSchema . Should ( ) . Contain ( columns => columns . ColumnName == idColumnName ) ;
71
+ }
72
+
73
+ // verify Id column has identity property
74
+ using ( var conn = new SqlConnection ( DatabaseFixture . LogEventsConnectionString ) )
75
+ {
76
+ var isIdentity = conn . Query < IdentityQuery > ( $ "SELECT COLUMNPROPERTY(object_id('{ logTableName } '), '{ idColumnName } ', 'IsIdentity') AS IsIdentity") ;
77
+ isIdentity . Should ( ) . Contain ( i => i . IsIdentity == 1 ) ;
58
78
}
59
79
}
60
80
0 commit comments