DotNetNext / SqlSugar

.Net aot ORM Fastest ORM Simple Easy VB.NET Sqlite orm Oracle ORM Mysql Orm 虚谷数据库 postgresql ORm SqlServer oRm 达梦 ORM 人大金仓 ORM 神通ORM C# ORM , C# ORM .NET ORM NET5 ORM .NET6 ORM ClickHouse orm QuestDb ,TDengine ORM,OceanBase orm,GaussDB orm ,Tidb orm Object/Relational Mapping
https://www.donet5.com/Home/Doc
MIT License
5.17k stars 1.32k forks source link

WhereClassByPrimaryKey參數前後綴過長 #1213

Closed Yumitoya8569 closed 6 months ago

Yumitoya8569 commented 6 months ago

環境

SqlSugarCore 5.1.4.115 Oracle 11c

問題

以下程式會產生對應語法

await _sysDb.Queryable<HERE_IS_LONG_TABLE_NAME>().WhereClassByPrimaryKey(req).AnyAsync();

// SELECT COUNT(1) FROM "HERE_IS_LONG_TABLE_NAME"  WHERE ( (   "ID" = :Condit_HERE_IS_LONG_TABLE_NAME_1000   ) )  #PARAMS=[:Condit_HERE_IS_LONG_TABLE_NAME_1000, Test]

HERE_IS_LONG_TABLE_NAME被參數化時多了Condit_跟_1000共12個字數的前後綴 在Oracle 12版前的欄位或參數名稱最多只能30個字 等於表格命名只剩18個字數可用 是否能調短這個額外的前後綴?

DotNetNext commented 6 months ago
 IsAutoCloseConnection = true,
 DbType = DbType.Oracle,
 ConnectionString = Connection,
 LanguageType=LanguageType.Default,//Set language
 MoreSettings=new ConnMoreSettings() 
 {
        MaxParameterNameLength=28//设置最大长度
 }

SqlSugarCore 5.1.4.130-preview19 更新最新预览版本已支持

Yumitoya8569 commented 6 months ago

SqlSugarCore 5.1.4.130 測試正常 謝謝