- 修改 StringLength/MaxLength 对 Oracle varchar2 类型无效的 bug;

This commit is contained in:
28810 2020-03-27 16:51:28 +08:00
parent 7229c08d0d
commit 6fbdbe3327
15 changed files with 149 additions and 8 deletions

View File

@ -110,13 +110,6 @@
清空状态数据 清空状态数据
</summary> </summary>
</member> </member>
<member name="M:FreeSql.DbSet`1.RemoveAsync(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
<summary>
根据 lambda 条件删除数据
</summary>
<param name="predicate"></param>
<returns></returns>
</member>
<member name="M:FreeSql.DbSet`1.Add(`0)"> <member name="M:FreeSql.DbSet`1.Add(`0)">
<summary> <summary>
添加 添加

View File

@ -10,6 +10,19 @@ namespace FreeSql.Tests.MySqlConnector
{ {
public class MySqlCodeFirstTest public class MySqlCodeFirstTest
{ {
[Fact]
public void StringLength()
{
var dll = g.mysql.CodeFirst.GetComparisonDDLStatements<TS_SLTB>();
g.mysql.CodeFirst.SyncStructure<TS_SLTB>();
}
class TS_SLTB
{
public Guid Id { get; set; }
[Column(StringLength = 50)]
public string Title { get; set; }
}
[Fact] [Fact]
public void () public void ()
{ {

View File

@ -10,6 +10,18 @@ namespace FreeSql.Tests.Odbc.Dameng
{ {
public class DamengCodeFirstTest public class DamengCodeFirstTest
{ {
[Fact]
public void StringLength()
{
var dll = g.dameng.CodeFirst.GetComparisonDDLStatements<TS_SLTB>();
g.dameng.CodeFirst.SyncStructure<TS_SLTB>();
}
class TS_SLTB
{
public Guid Id { get; set; }
[Column(StringLength = 50)]
public string Title { get; set; }
}
[Fact] [Fact]
public void _字段() public void _字段()

View File

@ -11,6 +11,7 @@ namespace FreeSql.Tests.Odbc.Default
public class OdbcCodeFirstTest public class OdbcCodeFirstTest
{ {
[Fact] [Fact]
public void _字段() public void _字段()
{ {

View File

@ -10,6 +10,19 @@ namespace FreeSql.Tests.Odbc.MySql
{ {
public class MySqlCodeFirstTest public class MySqlCodeFirstTest
{ {
[Fact]
public void StringLength()
{
var dll = g.mysql.CodeFirst.GetComparisonDDLStatements<TS_SLTB>();
g.mysql.CodeFirst.SyncStructure<TS_SLTB>();
}
class TS_SLTB
{
public Guid Id { get; set; }
[Column(StringLength = 50)]
public string Title { get; set; }
}
[Fact] [Fact]
public void () public void ()
{ {

View File

@ -10,6 +10,18 @@ namespace FreeSql.Tests.Odbc.Oracle
{ {
public class OracleCodeFirstTest public class OracleCodeFirstTest
{ {
[Fact]
public void StringLength()
{
var dll = g.oracle.CodeFirst.GetComparisonDDLStatements<TS_SLTB>();
g.oracle.CodeFirst.SyncStructure<TS_SLTB>();
}
class TS_SLTB
{
public Guid Id { get; set; }
[Column(StringLength = 50)]
public string Title { get; set; }
}
[Fact] [Fact]
public void _字段() public void _字段()

View File

@ -14,6 +14,18 @@ namespace FreeSql.Tests.Odbc.PostgreSQL
{ {
public class PostgreSQLCodeFirstTest public class PostgreSQLCodeFirstTest
{ {
[Fact]
public void StringLength()
{
var dll = g.pgsql.CodeFirst.GetComparisonDDLStatements<TS_SLTB>();
g.pgsql.CodeFirst.SyncStructure<TS_SLTB>();
}
class TS_SLTB
{
public Guid Id { get; set; }
[Column(StringLength = 50)]
public string Title { get; set; }
}
[Fact] [Fact]
public void _字段() public void _字段()

View File

@ -12,6 +12,19 @@ namespace FreeSql.Tests.Odbc.SqlServer
[Collection("SqlServerCollection")] [Collection("SqlServerCollection")]
public class SqlServerCodeFirstTest public class SqlServerCodeFirstTest
{ {
[Fact]
public void StringLength()
{
var dll = g.sqlserver.CodeFirst.GetComparisonDDLStatements<TS_SLTB>();
g.sqlserver.CodeFirst.SyncStructure<TS_SLTB>();
}
class TS_SLTB
{
public Guid Id { get; set; }
[Column(StringLength = 50)]
public string Title { get; set; }
}
[Fact] [Fact]
public void _字段() public void _字段()
{ {

View File

@ -10,6 +10,18 @@ namespace FreeSql.Tests.MsAccess
{ {
public class MsAccessCodeFirstTest public class MsAccessCodeFirstTest
{ {
[Fact]
public void StringLength()
{
var dll = g.msaccess.CodeFirst.GetComparisonDDLStatements<TS_SLTB>();
g.msaccess.CodeFirst.SyncStructure<TS_SLTB>();
}
class TS_SLTB
{
public Guid Id { get; set; }
[Column(StringLength = 50)]
public string Title { get; set; }
}
[Fact] [Fact]
public void _字段() public void _字段()

View File

@ -10,6 +10,18 @@ namespace FreeSql.Tests.MySql
{ {
public class MySqlCodeFirstTest public class MySqlCodeFirstTest
{ {
[Fact]
public void StringLength()
{
var dll = g.mysql.CodeFirst.GetComparisonDDLStatements<TS_SLTB>();
g.mysql.CodeFirst.SyncStructure<TS_SLTB>();
}
class TS_SLTB
{
public Guid Id { get; set; }
[Column(StringLength = 50)]
public string Title { get; set; }
}
[Fact] [Fact]
public void () public void ()

View File

@ -10,6 +10,18 @@ namespace FreeSql.Tests.Oracle
{ {
public class OracleCodeFirstTest public class OracleCodeFirstTest
{ {
[Fact]
public void StringLength()
{
var dll = g.oracle.CodeFirst.GetComparisonDDLStatements<TS_SLTB>();
g.oracle.CodeFirst.SyncStructure<TS_SLTB>();
}
class TS_SLTB
{
public Guid Id { get; set; }
[Column(StringLength = 50)]
public string Title { get; set; }
}
[Fact] [Fact]
public void _字段() public void _字段()

View File

@ -17,6 +17,18 @@ namespace FreeSql.Tests.PostgreSQL
{ {
public class PostgreSQLCodeFirstTest public class PostgreSQLCodeFirstTest
{ {
[Fact]
public void StringLength()
{
var dll = g.pgsql.CodeFirst.GetComparisonDDLStatements<TS_SLTB>();
g.pgsql.CodeFirst.SyncStructure<TS_SLTB>();
}
class TS_SLTB
{
public Guid Id { get; set; }
[Column(StringLength = 50)]
public string Title { get; set; }
}
[Fact] [Fact]
public void _字段() public void _字段()

View File

@ -11,6 +11,18 @@ namespace FreeSql.Tests.SqlServer
{ {
public class SqlServerCodeFirstTest public class SqlServerCodeFirstTest
{ {
[Fact]
public void StringLength()
{
var dll = g.sqlserver.CodeFirst.GetComparisonDDLStatements<TS_SLTB>();
g.sqlserver.CodeFirst.SyncStructure<TS_SLTB>();
}
class TS_SLTB
{
public Guid Id { get; set; }
[Column(StringLength = 50)]
public string Title { get; set; }
}
[Fact] [Fact]
public void _字段() public void _字段()

View File

@ -10,6 +10,18 @@ namespace FreeSql.Tests.Sqlite
{ {
public class SqliteCodeFirstTest public class SqliteCodeFirstTest
{ {
[Fact]
public void StringLength()
{
var dll = g.sqlite.CodeFirst.GetComparisonDDLStatements<TS_SLTB>();
g.sqlite.CodeFirst.SyncStructure<TS_SLTB>();
}
class TS_SLTB
{
public Guid Id { get; set; }
[Column(StringLength = 50)]
public string Title { get; set; }
}
[Fact] [Fact]
public void () public void ()

View File

@ -204,7 +204,7 @@ namespace FreeSql.Internal
if (colattr.MapType == typeof(string) && colattr.StringLength != 0) if (colattr.MapType == typeof(string) && colattr.StringLength != 0)
{ {
int strlen = colattr.StringLength; int strlen = colattr.StringLength;
var charPatten = @"(CHAR|CHAR2|CHARACTER)\s*(\([^\)]*\))?"; var charPatten = @"(CHARACTER|CHAR2|CHAR)\s*(\([^\)]*\))?";
switch (common._orm.Ado.DataType) switch (common._orm.Ado.DataType)
{ {
case DataType.MySql: case DataType.MySql: