马特,
这可以很容易的。我做了这个变化来清洁SQL char空间,我已经测试过它如果由于变化导致速度缓慢,我的代码不会显示任何迹象。
第一个确保您备份您的退出源代码,以便在您需要时更容易恢复。
下一页创建以下方法:
public static string ReadString(object value) /*** CUSTOM CODE ***/
{
if (value == null || value is DBNull) return null;
return value.ToString().Trim();
}
我总是刻度/ *自定义代码我所有的代码更改* /让我以后可以很容易地找到我的变化
下一页找到以下方法:
public static void SetTypeMap(Type type, ITypeMap map)
现在这种方法找到以下行:
if (memberType == typeof (char) || memberType == typeof (char?))
{
il.EmitCall(OpCodes.Call, typeof (SqlMapper).GetMethod(
memberType == typeof (char) ? "ReadChar" : "ReadNullableChar",
BindingFlags.Static | BindingFlags.Public), null);
// stack is now [target][target][typed-value]
}
else
,并修改为:
if (memberType == typeof (char) || memberType == typeof (char?))
{
il.EmitCall(OpCodes.Call, typeof (SqlMapper).GetMethod(
memberType == typeof (char) ? "ReadChar" : "ReadNullableChar",
BindingFlags.Static | BindingFlags.Public), null);
// stack is now [target][target][typed-value]
}
else if (memberType == typeof(string)) /*** CUSTOM CODE START ***/
{
il.EmitCall(OpCodes.Call, typeof(SqlMapper).GetMethod("ReadString", BindingFlags.Static | BindingFlags.Public), null);
// stack is now [target][target][typed-value]
} /*** CUSTOM CODE END ***/
else
编译,你准备好去
什么数据库你在使用它的'传统名称'访问? Interbase的? ...等 – MethodMan 2013-03-15 15:56:00
道歉,其实际MS SQL服务器。 – Moffmo 2013-03-15 16:14:29
那么你是在寻找一个全面的属性设置器,但是在服务器上的LTRIM(RTRIM(...))的性能,使得查询每次都会在服务器端自动修剪? – Todd 2013-03-16 03:48:17