diff --git a/FreeSql/Internal/UtilsExpressionTree.cs b/FreeSql/Internal/UtilsExpressionTree.cs index bd53811ab..e67833c6a 100644 --- a/FreeSql/Internal/UtilsExpressionTree.cs +++ b/FreeSql/Internal/UtilsExpressionTree.cs @@ -313,7 +313,8 @@ public static ColumnInfo ColumnAttributeToInfo(TableInfo trytb, object entityDef if (colType == typeof(int) || colType == typeof(uint)) colattr.DbType = "SERIAL"; else if (colType == typeof(long) || colType == typeof(ulong)) - colattr.DbType = "SERIAL8"; + colattr.DbType = colattr.DbType.IndexOf("BIGSERIAL", StringComparison.OrdinalIgnoreCase) != -1 ? + "BIGSERIAL" : "SERIAL8"; //#1919 } if (colattr.MapType.NullableTypeOrThis() == typeof(DateTime)) { diff --git a/Providers/FreeSql.Provider.GBase/Curd/GBaseInsert.cs b/Providers/FreeSql.Provider.GBase/Curd/GBaseInsert.cs index 3f7c9d7b9..c3b2b9716 100644 --- a/Providers/FreeSql.Provider.GBase/Curd/GBaseInsert.cs +++ b/Providers/FreeSql.Provider.GBase/Curd/GBaseInsert.cs @@ -49,8 +49,8 @@ protected override long RawExecuteIdentity() { if (identityType == typeof(int) || identityType == typeof(uint)) identitySql = "SELECT dbinfo('sqlca.sqlerrd1') FROM dual"; else if (identityType == typeof(long) || identityType == typeof(ulong)) identitySql = - identityCol.Attribute.DbType.IndexOf("bigserial", StringComparison.OrdinalIgnoreCase) != -1 ? - "SELECT dbinfo('bigserial') FROM dual" : "SELECT dbinfo('serial8') FROM dual"; + identityCol.Attribute.DbType.IndexOf("bigserial", StringComparison.OrdinalIgnoreCase) != -1 ? + "SELECT dbinfo('bigserial') FROM dual" : "SELECT dbinfo('serial8') FROM dual"; } var before = new Aop.CurdBeforeEventArgs(_table.Type, _table, Aop.CurdType.Insert, string.Concat(sql, $"; {identitySql};"), _params); _orm.Aop.CurdBeforeHandler?.Invoke(this, before);