mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-19 20:38:16 +08:00
- 优化 MySql StringLength/MaxLength -2 产生 LongText 映射;
This commit is contained in:
@ -89,11 +89,11 @@ namespace FreeSql.DataAnnotations
|
||||
/// Oracle -> nvarchar2(100)<para></para>
|
||||
/// Sqlite -> nvarchar(100)<para></para>
|
||||
/// ---<para></para>
|
||||
/// StringLength = -1 时,对应 DbType:<para></para>
|
||||
/// MySql -> text<para></para>
|
||||
/// StringLength < 0 时,对应 DbType:<para></para>
|
||||
/// MySql -> text (StringLength = -2 时,对应 DbType longtext)<para></para>
|
||||
/// SqlServer -> nvarchar(max)<para></para>
|
||||
/// PostgreSQL -> text<para></para>
|
||||
/// Oracle -> nvarchar2(4000)<para></para>
|
||||
/// Oracle -> nclob<para></para>
|
||||
/// Sqlite -> text<para></para>
|
||||
/// </summary>
|
||||
public int StringLength { get => _StringLength ?? 0; set => _StringLength = value; }
|
||||
|
@ -90,11 +90,11 @@
|
||||
Oracle -> nvarchar2(100)<para></para>
|
||||
Sqlite -> nvarchar(100)<para></para>
|
||||
---<para></para>
|
||||
StringLength = -1 时,对应 DbType:<para></para>
|
||||
MySql -> text<para></para>
|
||||
StringLength < 0 时,对应 DbType:<para></para>
|
||||
MySql -> text (StringLength = -2 时,对应 DbType longtext)<para></para>
|
||||
SqlServer -> nvarchar(max)<para></para>
|
||||
PostgreSQL -> text<para></para>
|
||||
Oracle -> nvarchar2(4000)<para></para>
|
||||
Oracle -> nclob<para></para>
|
||||
Sqlite -> text<para></para>
|
||||
</summary>
|
||||
</member>
|
||||
|
@ -1218,12 +1218,12 @@ namespace FreeSql.Internal.CommonProvider
|
||||
break;
|
||||
case DataType.Oracle:
|
||||
case DataType.OdbcOracle:
|
||||
case DataType.Dameng:
|
||||
case DataType.OdbcDameng:
|
||||
_tosqlAppendContent = $" for update{(noawait ? " nowait" : "")}";
|
||||
break;
|
||||
case DataType.Sqlite:
|
||||
break;
|
||||
case DataType.OdbcDameng:
|
||||
case DataType.Dameng:
|
||||
case DataType.OdbcKingbaseES:
|
||||
_tosqlAppendContent = $" for update{(noawait ? " nowait" : "")}";
|
||||
break;
|
||||
|
@ -232,7 +232,8 @@ namespace FreeSql.Internal
|
||||
{
|
||||
case DataType.MySql:
|
||||
case DataType.OdbcMySql:
|
||||
if (strlen < 0) colattr.DbType = "TEXT";
|
||||
if (strlen == -2) colattr.DbType = "LONGTEXT";
|
||||
else if (strlen < 0) colattr.DbType = "TEXT";
|
||||
else colattr.DbType = Regex.Replace(colattr.DbType, charPatten, $"$1({strlen})");
|
||||
break;
|
||||
case DataType.SqlServer:
|
||||
@ -250,9 +251,13 @@ namespace FreeSql.Internal
|
||||
if (strlen < 0) colattr.DbType = "NCLOB"; //v1.3.2+ https://github.com/dotnetcore/FreeSql/issues/259
|
||||
else colattr.DbType = Regex.Replace(colattr.DbType, charPatten, $"$1({strlen})");
|
||||
break;
|
||||
case DataType.Dameng:
|
||||
if (strlen < 0) colattr.DbType = "TEXT";
|
||||
else colattr.DbType = Regex.Replace(colattr.DbType, charPatten, $"$1({strlen})");
|
||||
break;
|
||||
case DataType.OdbcOracle:
|
||||
case DataType.OdbcDameng:
|
||||
if (strlen < 0) colattr.DbType = Regex.Replace(colattr.DbType, charPatten, $"$1(4000)");
|
||||
if (strlen < 0) colattr.DbType = Regex.Replace(colattr.DbType, charPatten, $"$1(4000)"); //ODBC 不支持 NCLOB
|
||||
else colattr.DbType = Regex.Replace(colattr.DbType, charPatten, $"$1({strlen})");
|
||||
break;
|
||||
case DataType.Sqlite:
|
||||
|
Reference in New Issue
Block a user