1+ using System ;
2+ using System . Data ;
3+ using System . Linq ;
4+ using NUnit . Framework ;
5+
6+ #if NET6_0
7+ namespace ServiceStack . OrmLite . Tests ;
8+
9+ public class Net6TypeTests : OrmLiteTestBase
10+ {
11+ private class DateOnlyObject
12+ {
13+ public DateOnly Test { get ; set ; }
14+ public DateOnly ? TestNullable { get ; set ; }
15+ }
16+
17+ private static DateOnlyObject InsertAndSelectDateOnly ( IDbConnection db , DateOnly dateTime )
18+ {
19+ db . DeleteAll < DateOnlyObject > ( ) ;
20+ db . Insert ( new DateOnlyObject { Test = dateTime , TestNullable = dateTime } ) ;
21+ var x = db . Select < DateOnlyObject > ( ) . First ( ) ;
22+ return x ;
23+ }
24+
25+ [ Test ]
26+ public void Can_insert_and_query_DateOnly ( )
27+ {
28+ // OrmLiteUtils.PrintSql();
29+ using var db = OpenDbConnection ( ) ;
30+ db . DropAndCreateTable < DateOnlyObject > ( ) ;
31+
32+ DateOnly dateTime ;
33+ DateOnlyObject x ;
34+
35+ dateTime = new DateOnly ( 2013 , 1 , 13 ) ;
36+ x = InsertAndSelectDateOnly ( db , dateTime ) ;
37+ Assert . That ( x . Test , Is . EqualTo ( dateTime ) ) ;
38+ Assert . That ( x . TestNullable ! . Value , Is . EqualTo ( x . Test ) ) ;
39+ x = db . Select < DateOnlyObject > ( d => d . Test == dateTime ) . FirstOrDefault ( ) ;
40+ Assert . That ( x , Is . Not . Null ) ;
41+ }
42+
43+ private class TimeOnlyObject
44+ {
45+ public TimeOnly Test { get ; set ; }
46+ public TimeOnly ? TestNullable { get ; set ; }
47+ }
48+
49+ private static TimeOnlyObject InsertAndSelectTimeOnly ( IDbConnection db , TimeOnly timeOnly )
50+ {
51+ db . DeleteAll < TimeOnlyObject > ( ) ;
52+ db . Insert ( new TimeOnlyObject { Test = timeOnly , TestNullable = timeOnly } ) ;
53+ var x = db . Select < TimeOnlyObject > ( ) . First ( ) ;
54+ return x ;
55+ }
56+
57+ [ Test ]
58+ public void Can_insert_and_query_TimeOnly ( )
59+ {
60+ OrmLiteUtils . PrintSql ( ) ;
61+ using var db = OpenDbConnection ( ) ;
62+ db . DropAndCreateTable < TimeOnlyObject > ( ) ;
63+
64+ TimeOnly timeOnly ;
65+ TimeOnlyObject x ;
66+
67+ timeOnly = new TimeOnly ( 13 , 14 , 15 ) ;
68+ x = InsertAndSelectTimeOnly ( db , timeOnly ) ;
69+ Assert . That ( x . Test , Is . EqualTo ( timeOnly ) ) ;
70+ Assert . That ( x . TestNullable ! . Value , Is . EqualTo ( x . Test ) ) ;
71+ x = db . Select < TimeOnlyObject > ( d => d . Test == timeOnly ) . FirstOrDefault ( ) ;
72+ Assert . That ( x , Is . Not . Null ) ;
73+ }
74+
75+ }
76+
77+ #endif
0 commit comments