@@ -150,10 +150,7 @@ public class Column
150
150
{
151
151
if(IsNullable)
152
152
{
153
- if(PropertyType.Equals("string") == false)
154
- {
155
- return PropertyType +"?";
156
- }
153
+ return PropertyType + CheckNullable(this);
157
154
}
158
155
return PropertyType;
159
156
}
@@ -270,7 +267,7 @@ static Func<string, string> CleanUp = (str) =>
270
267
return str;
271
268
};
272
269
273
- string CheckNullable(Column col)
270
+ static string CheckNullable(Column col)
274
271
{
275
272
string result="";
276
273
if(col.IsNullable &&
@@ -448,7 +445,7 @@ public string GetColumnDefaultValue(Column col)
448
445
return sysType;
449
446
}
450
447
451
- Tables LoadTables()
448
+ Tables LoadTables(bool makeSingular )
452
449
{
453
450
InitConnectionString();
454
451
@@ -547,7 +544,12 @@ Tables LoadTables()
547
544
var rxClean = new Regex("^(Equals|GetHashCode|GetType|ToString|repo|Save|IsNew|Insert|Update|Delete|Exists|SingleOrDefault|Single|First|FirstOrDefault|Fetch|Page|Query)$");
548
545
foreach (var t in result)
549
546
{
547
+ if (!makeSingular)
548
+ {
549
+ t.ClassName = t.CleanName;
550
+ }
550
551
t.ClassName = ClassPrefix + t.ClassName + ClassSuffix;
552
+
551
553
foreach (var c in t.Columns)
552
554
{
553
555
c.PropertyName = rxClean.Replace(c.PropertyName, "_$1");
@@ -956,13 +958,26 @@ class SqlServerSchemaReader : SchemaReader
956
958
p.Value=table;
957
959
cmd.Parameters.Add(p);
958
960
959
- var result=cmd.ExecuteScalar();
960
-
961
- if(result!=null)
962
- return result.ToString();
961
+ var result = "";
962
+ DbDataReader reader = cmd.ExecuteReader();
963
+ try
964
+ {
965
+ if (reader.Read())
966
+ {
967
+ result = reader[0].ToString();
968
+ if (reader.Read())
969
+ {
970
+ result = "";
971
+ }
972
+ }
973
+ }
974
+ finally
975
+ {
976
+ // Always call Close when done reading.
977
+ reader.Close();
978
+ }
979
+ return result;
963
980
}
964
-
965
- return "";
966
981
}
967
982
968
983
string GetPropertyType(string sqlType)
@@ -1274,13 +1289,26 @@ class SqlServerCeSchemaReader : SchemaReader
1274
1289
p.Value=table;
1275
1290
cmd.Parameters.Add(p);
1276
1291
1277
- var result=cmd.ExecuteScalar();
1278
-
1279
- if(result!=null)
1280
- return result.ToString();
1292
+ var result = "";
1293
+ DbDataReader reader = cmd.ExecuteReader();
1294
+ try
1295
+ {
1296
+ if (reader.Read())
1297
+ {
1298
+ result = reader[0].ToString();
1299
+ if (reader.Read())
1300
+ {
1301
+ result = "";
1302
+ }
1303
+ }
1304
+ }
1305
+ finally
1306
+ {
1307
+ // Always call Close when done reading.
1308
+ reader.Close();
1309
+ }
1310
+ return result;
1281
1311
}
1282
-
1283
- return "";
1284
1312
}
1285
1313
1286
1314
string GetPropertyType(string sqlType)
@@ -1467,13 +1495,26 @@ class PostGreSqlSchemaReader : SchemaReader
1467
1495
p.Value=table;
1468
1496
cmd.Parameters.Add(p);
1469
1497
1470
- var result=cmd.ExecuteScalar();
1471
-
1472
- if(result!=null)
1473
- return result.ToString();
1498
+ var result = "";
1499
+ DbDataReader reader = cmd.ExecuteReader();
1500
+ try
1501
+ {
1502
+ if (reader.Read())
1503
+ {
1504
+ result = reader[0].ToString();
1505
+ if (reader.Read())
1506
+ {
1507
+ result = "";
1508
+ }
1509
+ }
1510
+ }
1511
+ finally
1512
+ {
1513
+ // Always call Close when done reading.
1514
+ reader.Close();
1515
+ }
1516
+ return result;
1474
1517
}
1475
-
1476
- return "";
1477
1518
}
1478
1519
1479
1520
string GetPropertyType(string sqlType)
@@ -1781,13 +1822,26 @@ and ucc.position = 1";
1781
1822
p.Value=table;
1782
1823
cmd.Parameters.Add(p);
1783
1824
1784
- var result=cmd.ExecuteScalar();
1785
-
1786
- if(result!=null)
1787
- return result.ToString();
1825
+ var result = "";
1826
+ DbDataReader reader = cmd.ExecuteReader();
1827
+ try
1828
+ {
1829
+ if (reader.Read())
1830
+ {
1831
+ result = reader[0].ToString();
1832
+ if (reader.Read())
1833
+ {
1834
+ result = "";
1835
+ }
1836
+ }
1837
+ }
1838
+ finally
1839
+ {
1840
+ // Always call Close when done reading.
1841
+ reader.Close();
1842
+ }
1843
+ return result;
1788
1844
}
1789
-
1790
- return "";
1791
1845
}
1792
1846
1793
1847
string GetPropertyType(string sqlType, string dataScale)
0 commit comments