mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 17:20:49 +08:00 
			
		
		
		
	- 修改 StringLength/MaxLength 对 Oracle varchar2 类型无效的 bug;
This commit is contained in:
		@@ -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>
 | 
				
			||||||
            添加
 | 
					            添加
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>()
 | 
					        public void <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 <EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>_<EFBFBD>ֶ<EFBFBD>()
 | 
					        public void <EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>_<EFBFBD>ֶ<EFBFBD>()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,6 +11,7 @@ namespace FreeSql.Tests.Odbc.Default
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public class OdbcCodeFirstTest
 | 
					    public class OdbcCodeFirstTest
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        [Fact]
 | 
					        [Fact]
 | 
				
			||||||
        public void 中文表_字段()
 | 
					        public void 中文表_字段()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>()
 | 
					        public void <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 <EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>_<EFBFBD>ֶ<EFBFBD>()
 | 
					        public void <EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>_<EFBFBD>ֶ<EFBFBD>()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 <EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>_<EFBFBD>ֶ<EFBFBD>()
 | 
					        public void <EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>_<EFBFBD>ֶ<EFBFBD>()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 <EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>_<EFBFBD>ֶ<EFBFBD>()
 | 
					        public void <EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>_<EFBFBD>ֶ<EFBFBD>()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 <EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>_<EFBFBD>ֶ<EFBFBD>()
 | 
					        public void <EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>_<EFBFBD>ֶ<EFBFBD>()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>()
 | 
					        public void <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 <EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>_<EFBFBD>ֶ<EFBFBD>()
 | 
					        public void <EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>_<EFBFBD>ֶ<EFBFBD>()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 <EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>_<EFBFBD>ֶ<EFBFBD>()
 | 
					        public void <EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>_<EFBFBD>ֶ<EFBFBD>()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 <EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>_<EFBFBD>ֶ<EFBFBD>()
 | 
					        public void <EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>_<EFBFBD>ֶ<EFBFBD>()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>()
 | 
					        public void <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user