mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 17:20:49 +08:00 
			
		
		
		
	- 修复 3.2.670 中 UseNameConvert 无效;#1270
This commit is contained in:
		
							
								
								
									
										119
									
								
								FreeSql.Tests/FreeSql.Tests/Issues/1270.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										119
									
								
								FreeSql.Tests/FreeSql.Tests/Issues/1270.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,119 @@
 | 
			
		||||
using FreeSql.DataAnnotations;
 | 
			
		||||
using FreeSql.Internal;
 | 
			
		||||
using System.Diagnostics;
 | 
			
		||||
using Xunit;
 | 
			
		||||
 | 
			
		||||
namespace FreeSql.Tests.Issues
 | 
			
		||||
{
 | 
			
		||||
    public class _1270
 | 
			
		||||
    {
 | 
			
		||||
        [Fact]
 | 
			
		||||
        public void UseNameConvert()
 | 
			
		||||
        {
 | 
			
		||||
            using (var fsql = new FreeSqlBuilder()
 | 
			
		||||
                .UseConnectionString(DataType.Sqlite, "Data Source=:memory:")
 | 
			
		||||
                .UseNameConvert(NameConvertType.None)
 | 
			
		||||
                .UseAutoSyncStructure(true)
 | 
			
		||||
                .Build())
 | 
			
		||||
            {
 | 
			
		||||
                var ddl = fsql.CodeFirst.GetComparisonDDLStatements<SysUser>();
 | 
			
		||||
                Assert.Equal(@"CREATE TABLE IF NOT EXISTS ""main"".""SysUser"" (  
 | 
			
		||||
  ""Id"" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
 | 
			
		||||
  ""UserName"" NVARCHAR(255)
 | 
			
		||||
) 
 | 
			
		||||
;
 | 
			
		||||
", ddl);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            using (var fsql = new FreeSqlBuilder()
 | 
			
		||||
                .UseConnectionString(DataType.Sqlite, "Data Source=:memory:")
 | 
			
		||||
                .UseNameConvert(NameConvertType.PascalCaseToUnderscore)
 | 
			
		||||
                .UseAutoSyncStructure(true)
 | 
			
		||||
                .Build())
 | 
			
		||||
            {
 | 
			
		||||
                fsql.CodeFirst.ConfigEntity<SysUser>(a => { });
 | 
			
		||||
                var ddl = fsql.CodeFirst.GetComparisonDDLStatements<SysUser>();
 | 
			
		||||
                Assert.Equal(@"CREATE TABLE IF NOT EXISTS ""main"".""Sys_User"" (  
 | 
			
		||||
  ""Id"" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
 | 
			
		||||
  ""User_Name"" NVARCHAR(255)
 | 
			
		||||
) 
 | 
			
		||||
;
 | 
			
		||||
", ddl);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            using (var fsql = new FreeSqlBuilder()
 | 
			
		||||
                .UseConnectionString(DataType.Sqlite, "Data Source=:memory:")
 | 
			
		||||
                .UseNameConvert(NameConvertType.PascalCaseToUnderscoreWithLower)
 | 
			
		||||
                .UseAutoSyncStructure(true)
 | 
			
		||||
                .Build())
 | 
			
		||||
            {
 | 
			
		||||
                fsql.CodeFirst.ConfigEntity<SysUser>(a => { });
 | 
			
		||||
                var ddl = fsql.CodeFirst.GetComparisonDDLStatements<SysUser>();
 | 
			
		||||
                Assert.Equal(@"CREATE TABLE IF NOT EXISTS ""main"".""sys_user"" (  
 | 
			
		||||
  ""id"" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
 | 
			
		||||
  ""user_name"" NVARCHAR(255)
 | 
			
		||||
) 
 | 
			
		||||
;
 | 
			
		||||
", ddl);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            using (var fsql = new FreeSqlBuilder()
 | 
			
		||||
                .UseConnectionString(DataType.Sqlite, "Data Source=:memory:")
 | 
			
		||||
                .UseNameConvert(NameConvertType.PascalCaseToUnderscoreWithUpper)
 | 
			
		||||
                .UseAutoSyncStructure(true)
 | 
			
		||||
                .Build())
 | 
			
		||||
            {
 | 
			
		||||
                fsql.CodeFirst.ConfigEntity<SysUser>(a => { });
 | 
			
		||||
                var ddl = fsql.CodeFirst.GetComparisonDDLStatements<SysUser>();
 | 
			
		||||
                Assert.Equal(@"CREATE TABLE IF NOT EXISTS ""main"".""SYS_USER"" (  
 | 
			
		||||
  ""ID"" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
 | 
			
		||||
  ""USER_NAME"" NVARCHAR(255)
 | 
			
		||||
) 
 | 
			
		||||
;
 | 
			
		||||
", ddl);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            using (var fsql = new FreeSqlBuilder()
 | 
			
		||||
                .UseConnectionString(DataType.Sqlite, "Data Source=:memory:")
 | 
			
		||||
                .UseNameConvert(NameConvertType.ToLower)
 | 
			
		||||
                .UseAutoSyncStructure(true)
 | 
			
		||||
                .Build())
 | 
			
		||||
            {
 | 
			
		||||
                fsql.CodeFirst.ConfigEntity<SysUser>(a => { });
 | 
			
		||||
                var ddl = fsql.CodeFirst.GetComparisonDDLStatements<SysUser>();
 | 
			
		||||
                Assert.Equal(@"CREATE TABLE IF NOT EXISTS ""main"".""sysuser"" (  
 | 
			
		||||
  ""id"" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
 | 
			
		||||
  ""username"" NVARCHAR(255)
 | 
			
		||||
) 
 | 
			
		||||
;
 | 
			
		||||
", ddl);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            using (var fsql = new FreeSqlBuilder()
 | 
			
		||||
                .UseConnectionString(DataType.Sqlite, "Data Source=:memory:")
 | 
			
		||||
                .UseNameConvert(NameConvertType.ToUpper)
 | 
			
		||||
                .UseAutoSyncStructure(true)
 | 
			
		||||
                .Build())
 | 
			
		||||
            {
 | 
			
		||||
                fsql.CodeFirst.ConfigEntity<SysUser>(a => { });
 | 
			
		||||
                var ddl = fsql.CodeFirst.GetComparisonDDLStatements<SysUser>();
 | 
			
		||||
                Assert.Equal(@"CREATE TABLE IF NOT EXISTS ""main"".""SYSUSER"" (  
 | 
			
		||||
  ""ID"" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
 | 
			
		||||
  ""USERNAME"" NVARCHAR(255)
 | 
			
		||||
) 
 | 
			
		||||
;
 | 
			
		||||
", ddl);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class SysUser
 | 
			
		||||
        {
 | 
			
		||||
            [Column(IsPrimary = true, IsIdentity = true)]
 | 
			
		||||
            public int Id { get; set; }
 | 
			
		||||
 | 
			
		||||
            public string UserName { get; set; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -128,7 +128,7 @@ namespace FreeSql.Internal
 | 
			
		||||
                            {
 | 
			
		||||
                                ModifyResult = new TableAttribute
 | 
			
		||||
                                {
 | 
			
		||||
                                    Name = attr.Name,
 | 
			
		||||
                                    Name = attr.Name ?? type.Name,
 | 
			
		||||
                                    OldName = attr.OldName,
 | 
			
		||||
                                    _DisableSyncStructure = attr._DisableSyncStructure,
 | 
			
		||||
                                    AsTable = attr.AsTable
 | 
			
		||||
@@ -136,7 +136,7 @@ namespace FreeSql.Internal
 | 
			
		||||
                            };
 | 
			
		||||
                            _orm.Aop.ConfigEntityHandler(_orm, aope); 
 | 
			
		||||
                            var tryattr = aope.ModifyResult;
 | 
			
		||||
                            if (!string.IsNullOrEmpty(tryattr.Name)) attr.Name = tryattr.Name;
 | 
			
		||||
                            if (!string.IsNullOrEmpty(tryattr.Name) && tryattr.Name != type.Name) attr.Name = tryattr.Name;
 | 
			
		||||
                            if (!string.IsNullOrEmpty(tryattr.OldName)) attr.OldName = tryattr.OldName;
 | 
			
		||||
                            if (tryattr._DisableSyncStructure != null) attr._DisableSyncStructure = tryattr.DisableSyncStructure;
 | 
			
		||||
                            if (!string.IsNullOrEmpty(tryattr.AsTable)) attr.AsTable = tryattr.AsTable;
 | 
			
		||||
@@ -194,7 +194,7 @@ namespace FreeSql.Internal
 | 
			
		||||
                            {
 | 
			
		||||
                                ModifyResult = new ColumnAttribute
 | 
			
		||||
                                {
 | 
			
		||||
                                    Name = attr.Name,
 | 
			
		||||
                                    Name = attr.Name ?? proto.Name,
 | 
			
		||||
                                    OldName = attr.OldName,
 | 
			
		||||
                                    DbType = attr.DbType,
 | 
			
		||||
                                    _IsPrimary = attr._IsPrimary,
 | 
			
		||||
@@ -217,7 +217,7 @@ namespace FreeSql.Internal
 | 
			
		||||
                            };
 | 
			
		||||
                            _orm.Aop.ConfigEntityPropertyHandler(_orm, aope);
 | 
			
		||||
                            var tryattr = aope.ModifyResult;
 | 
			
		||||
                            if (!string.IsNullOrEmpty(tryattr.Name)) attr.Name = tryattr.Name;
 | 
			
		||||
                            if (!string.IsNullOrEmpty(tryattr.Name) && tryattr.Name != proto.Name) attr.Name = tryattr.Name;
 | 
			
		||||
                            if (!string.IsNullOrEmpty(tryattr.OldName)) attr.OldName = tryattr.OldName;
 | 
			
		||||
                            if (!string.IsNullOrEmpty(tryattr.DbType)) attr.DbType = tryattr.DbType;
 | 
			
		||||
                            if (tryattr._IsPrimary != null) attr._IsPrimary = tryattr.IsPrimary;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user