NClob oracle

This commit is contained in:
sunkaixuan
2023-05-29 11:26:01 +08:00
parent e7c2b67c11
commit d2e2bfeabc
3 changed files with 24 additions and 1 deletions

View File

@@ -85,4 +85,21 @@ namespace SqlSugar.DbConvert
return (T)(object)value;
}
}
public class NClobPropertyConvert : ISugarDataConverter
{
public SugarParameter ParameterConverter<T>(object columnValue, int columnIndex)
{
var name = "@Common" + columnIndex;
Type undertype = SqlSugar.UtilMethods.GetUnderType(typeof(T));//获取没有nullable的枚举类型
return new SugarParameter(name, columnValue, undertype) { IsNClob = true };
}
public T QueryConverter<T>(IDataRecord dr, int i)
{
var value = dr.GetString(i);
return (T)(object)value;
}
}
}

View File

@@ -11,6 +11,7 @@ namespace SqlSugar
{
public bool IsRefCursor { get; set; }
public bool IsClob { get; set; }
public bool IsNClob { get; set; }
public bool IsNvarchar2 { get; set; }
public SugarParameter(string name, object value)
{

View File

@@ -219,6 +219,11 @@ namespace SqlSugar
sqlParameter.OracleDbType = OracleDbType.Clob;
sqlParameter.Value = parameter.Value;
}
if (parameter.IsNClob)
{
sqlParameter.OracleDbType = OracleDbType.NClob;
sqlParameter.Value = parameter.Value;
}
if (parameter.IsArray)
{
sqlParameter.OracleDbType = OracleDbType.Varchar2;