1
1
using System ;
2
2
using System . Data ;
3
3
4
+ using NHibernate . SqlTypes ;
5
+
4
6
namespace NHibernate . Dialect {
5
7
6
8
/// <summary>
@@ -9,20 +11,121 @@ namespace NHibernate.Dialect {
9
11
public class GenericDialect : Dialect {
10
12
11
13
public GenericDialect ( ) : base ( ) {
12
- Register ( DbType . Boolean , "BIT" ) ;
13
- Register ( DbType . Int16 , "SMALLINT" ) ;
14
- Register ( DbType . Int32 , "INTEGER" ) ;
15
- Register ( DbType . Int64 , "BIGINT" ) ;
16
- Register ( DbType . String , "VARCHAR($1)" ) ;
17
- Register ( DbType . Single , "FLOAT" ) ;
18
- Register ( DbType . DateTime , "DATETIME" ) ;
19
- Register ( DbType . Time , "TIMESTAMP" ) ;
20
- Register ( DbType . Binary , "VARBINARY($1)" ) ;
21
- Register ( DbType . Decimal , "DECIMAL" ) ;
14
+ // Register( DbType.Boolean, "BIT" );
15
+ // Register( DbType.Int16, "SMALLINT" );
16
+ // Register( DbType.Int32, "INTEGER" );
17
+ // Register( DbType.Int64, "BIGINT" );
18
+ // Register( DbType.String, "VARCHAR($1)" );
19
+ // Register( DbType.Single, "FLOAT" );
20
+ // Register( DbType.DateTime, "DATETIME" );
21
+ // Register( DbType.Time, "TIMESTAMP" );
22
+ // Register( DbType.Binary, "VARBINARY($1)" );
23
+ // Register( DbType.Decimal, "DECIMAL" );
22
24
}
23
25
24
26
public override string AddColumnString {
25
27
get { return "add column" ; }
26
28
}
29
+
30
+ private string SqlTypeToString ( string name , int length )
31
+ {
32
+ return name + "(" + length + ")" ;
33
+ }
34
+
35
+ private string SqlTypeToString ( string name , int precision , int scale )
36
+ {
37
+ return name + "(" + precision + ", " + scale + ")" ;
38
+ }
39
+
40
+ protected override string SqlTypeToString ( AnsiStringSqlType sqlType )
41
+ {
42
+ return SqlTypeToString ( "VARCHAR" , sqlType . Length ) ;
43
+ }
44
+
45
+ protected override string SqlTypeToString ( AnsiStringFixedLengthSqlType sqlType )
46
+ {
47
+ return SqlTypeToString ( "CHAR" , sqlType . Length ) ;
48
+ }
49
+
50
+ protected override string SqlTypeToString ( BinarySqlType sqlType )
51
+ {
52
+ return SqlTypeToString ( "VARBINARY" , sqlType . Length ) ;
53
+ }
54
+
55
+ protected override string SqlTypeToString ( BooleanSqlType sqlType )
56
+ {
57
+ return "BIT" ;
58
+ }
59
+
60
+
61
+ protected override string SqlTypeToString ( ByteSqlType sqlType )
62
+ {
63
+ return "TINYINT" ;
64
+ }
65
+
66
+ protected override string SqlTypeToString ( CurrencySqlType sqlType )
67
+ {
68
+ return "MONEY" ;
69
+ }
70
+
71
+ protected override string SqlTypeToString ( DateSqlType sqlType )
72
+ {
73
+ return "DATETIME" ;
74
+ }
75
+
76
+ protected override string SqlTypeToString ( DateTimeSqlType sqlType )
77
+ {
78
+ return "DATETIME" ;
79
+ }
80
+
81
+ protected override string SqlTypeToString ( TimeSqlType sqlType )
82
+ {
83
+ return "DATETIME" ;
84
+ }
85
+
86
+ protected override string SqlTypeToString ( DecimalSqlType sqlType )
87
+ {
88
+ return SqlTypeToString ( "DECIMAL" , sqlType . Precision , sqlType . Scale ) ;
89
+ }
90
+
91
+ protected override string SqlTypeToString ( DoubleSqlType sqlType )
92
+ {
93
+ return SqlTypeToString ( "FLOAT" , sqlType . Length ) ;
94
+ }
95
+
96
+ protected override string SqlTypeToString ( GuidSqlType sqlType )
97
+ {
98
+ return "UNIQUEIDENTIFIER" ;
99
+ }
100
+
101
+ protected override string SqlTypeToString ( Int16SqlType sqlType )
102
+ {
103
+ return "SMALLINT" ;
104
+ }
105
+
106
+ protected override string SqlTypeToString ( Int32SqlType sqlType )
107
+ {
108
+ return "INTEGER" ;
109
+ }
110
+
111
+ protected override string SqlTypeToString ( Int64SqlType sqlType )
112
+ {
113
+ return "BIGINT" ;
114
+ }
115
+
116
+ protected override string SqlTypeToString ( SingleSqlType sqlType )
117
+ {
118
+ return SqlTypeToString ( "FLOAT" , sqlType . Length ) ;
119
+ }
120
+
121
+ protected override string SqlTypeToString ( StringFixedLengthSqlType sqlType )
122
+ {
123
+ return SqlTypeToString ( "NCHAR" , sqlType . Length ) ;
124
+ }
125
+
126
+ protected override string SqlTypeToString ( StringSqlType sqlType )
127
+ {
128
+ return SqlTypeToString ( "NVARCHAR" , sqlType . Length ) ;
129
+ }
27
130
}
28
131
}
0 commit comments