当前内置的 DmProvider 在连接达梦主从集群会出错,无法正常工作。改为使用官方的 Dm.Provider 后可以正常工作。

https://www.nuget.org/packages/DM.DmProvider/8.3.1.28188

注意最新版本 8.3.1.30495 存在一个bug,会把空字符串插入为 NULL导致错误,不能使用。
This commit is contained in:
luyun
2024-12-26 14:47:32 +08:00
parent deafd57d44
commit bbe73809a4
21 changed files with 6 additions and 341 deletions

View File

@@ -15,7 +15,7 @@ namespace FreeSql.Dameng
{
}
public override DbParameter AppendParamter(List<DbParameter> _params, string parameterName, ColumnInfo col, Type type, object value)
public override DbParameter AppendParamter(List<DbParameter> _params, string parameterName, Internal.Model.ColumnInfo col, Type type, object value)
{
if (string.IsNullOrEmpty(parameterName)) parameterName = $"p_{_params?.Count}";
var dbtype = (DmDbType?)_orm.CodeFirst.GetDbInfo(type)?.type;
@@ -114,7 +114,7 @@ namespace FreeSql.Dameng
public override string QuoteWriteParamterAdapter(Type type, string paramterName) => paramterName;
protected override string QuoteReadColumnAdapter(Type type, Type mapType, string columnName) => columnName;
public override string GetNoneParamaterSqlValue(List<DbParameter> specialParams, string specialParamFlag, ColumnInfo col, Type type, object value)
public override string GetNoneParamaterSqlValue(List<DbParameter> specialParams, string specialParamFlag, Internal.Model.ColumnInfo col, Type type, object value)
{
if (value == null) return "NULL";
if (type.IsNumberType()) return string.Format(CultureInfo.InvariantCulture, "{0}", value);