11using System ;
22using System . Data . SqlClient ;
3+ using System . Data . SqlTypes ;
34using NUnit . Framework ;
45using ServiceStack . DataAnnotations ;
56using ServiceStack . OrmLite . SqlServer ;
@@ -23,8 +24,7 @@ public void datetime_tests__can_use_datetime2()
2324 conn . CreateTable < Table_for_datetime2_tests > ( true ) ;
2425
2526 //normal insert
26- conn . Insert ( test_object_ValidForDatetime2 ) ;
27- var insertedId = ( int ) conn . LastInsertId ( ) ;
27+ var insertedId = conn . Insert ( test_object_ValidForDatetime2 , selectIdentity : true ) ;
2828
2929 //read back, and verify precision
3030 var fromDb = conn . SingleById < Table_for_datetime2_tests > ( insertedId ) ;
@@ -56,17 +56,16 @@ public void datetime_tests__check_default_behaviour()
5656 conn . CreateTable < Table_for_datetime2_tests > ( true ) ;
5757
5858 //normal insert
59- conn . Insert ( test_object_ValidForNormalDatetime ) ;
60- var insertedId = conn . LastInsertId ( ) ;
59+ var insertedId = conn . Insert ( test_object_ValidForNormalDatetime , selectIdentity : true ) ;
6160
6261 //insert works, but can't regular datetime's precision is not great enough.
6362 var fromDb = conn . SingleById < Table_for_datetime2_tests > ( insertedId ) ;
6463 Assert . AreNotEqual ( test_object_ValidForNormalDatetime . ToVerifyPrecision , fromDb . ToVerifyPrecision ) ;
6564
66- var thrown = Assert . Throws < SqlException > ( ( ) => {
65+ var thrown = Assert . Throws < SqlTypeException > ( ( ) => {
6766 conn . Insert ( test_object_ValidForDatetime2 ) ;
6867 } ) ;
69- Assert . That ( thrown . Message . Contains ( "The conversion of a varchar data type to a datetime data type resulted in an out-of-range value. ") ) ;
68+ Assert . That ( thrown . Message . Contains ( "SqlDateTime overflow ") ) ;
7069
7170
7271 //check InsertParam
0 commit comments