Поиск…


замечания

Обработчики типов позволяют преобразовывать типы баз данных в .Net пользовательские типы.

Преобразование varchar в IHtmlString

public class IHtmlStringTypeHandler : SqlMapper.TypeHandler<IHtmlString>
{
    public override void SetValue(
        IDbDataParameter parameter, 
        IHtmlString value)
    {
        parameter.DbType = DbType.String;
        parameter.Value = value?.ToHtmlString();
    }

    public override IHtmlString Parse(object value)
    {
        return MvcHtmlString.Create(value?.ToString());
    }
}

Установка TypeHandler

Обработчик вышеуказанного типа можно установить в SqlMapper с AddTypeHandler метода AddTypeHandler .

SqlMapper.AddTypeHandler<IHtmlString>(new IHtmlStringTypeHandler());

Вывод типа позволяет опустить параметр типового типа:

SqlMapper.AddTypeHandler(new IHtmlStringTypeHandler());

Существует также перегрузка с двумя аргументами, которая принимает явный аргумент Type :

SqlMapper.AddTypeHandler(typeof(IHtmlString), new IHtmlStringTypeHandler());


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow