- 修复 Firebird 批量插入 varchar 追加空格的问题;#1923

This commit is contained in:
2881099
2024-11-13 21:27:56 +08:00
parent 59e61e76a1
commit 54d7679073
3 changed files with 48 additions and 20 deletions

View File

@@ -574,7 +574,7 @@ namespace base_entity
//.UseSlaveWeight(10, 1, 1, 5)
//.UseConnectionString(FreeSql.DataType.Firebird, @"database=localhost:D:\fbdata\EXAMPLES.fdb;user=sysdba;password=123456;max pool size=5")
.UseConnectionString(FreeSql.DataType.Firebird, @"database=localhost:D:\fbdata\EXAMPLES.fdb;user=sysdba;password=123456;max pool size=5")
//.UseQuoteSqlName(false)
//.UseConnectionString(FreeSql.DataType.MySql, "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;min pool size=1;Max pool size=3;AllowLoadLocalInfile=true")
@@ -619,6 +619,16 @@ namespace base_entity
BaseEntity.Initialization(fsql, () => _asyncUow.Value);
#endregion
fsql.Delete<User1>().Where("1=1").ExecuteAffrows();
fsql.Insert(new List<User1>
{
new User1 { Nickname = "nickname11", Username = "username11", Description = "desc11" },
new User1 { Nickname = "n2", Username = "u2", Description = "d2" },
new User1 { Nickname = "n3", Username = "u3", Description = "d3" },
}).ExecuteAffrows();
var firebirdList01 = fsql.Select<User1>().ToList();
fsql.UseJsonMap();
fsql.Select<Table11>().Where(a => a.Options.Value1 == 100 && a.Options.Value2 == "xx").ToList();

View File

@@ -712,6 +712,15 @@
<param name="modelBuilder"></param>
<returns></returns>
</member>
<member name="M:FreeSqlDbContextExtensions.ApplyConfigurationsFromAssembly(FreeSql.ICodeFirst,System.Reflection.Assembly,System.Func{System.Type,System.Boolean})">
<summary>
根据Assembly扫描所有继承IEntityTypeConfiguration&lt;T&gt;的配置类
</summary>
<param name="codeFirst"></param>
<param name="assembly"></param>
<param name="predicate"></param>
<returns></returns>
</member>
<member name="M:FreeSqlDbContextExtensions.CreateDbContext(IFreeSql)">
<summary>
创建普通数据上下文档对象
@@ -749,5 +758,13 @@
<param name="that"></param>
<returns></returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.FreeSqlRepositoryDependencyInjection.AddFreeRepository(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Reflection.Assembly[])">
<summary>
批量注入 Repository可以参考代码自行调整
</summary>
<param name="services"></param>
<param name="assemblies"></param>
<returns></returns>
</member>
</members>
</doc>

View File

@@ -89,6 +89,7 @@ namespace FreeSql.Firebird
if (value == null) return "NULL";
if (type.IsNumberType()) return string.Format(CultureInfo.InvariantCulture, "{0}", value);
if (type == typeof(byte[])) return $"x'{CommonUtils.BytesSqlRaw(value as byte[])}'";
if (type == typeof(string) && (specialParamFlag == "c" || specialParamFlag == "cu")) return $"cast('{value.ToString().Replace("'", "''")}' as varchar({col.DbSize}))"; //#1923
return FormatSql("{0}", value, 1);
}
}