Попробовав BLT захотелось следующих возможностей связанных с Mapping'ом значений из программы в базу и обратно.
1. Хочется иметь возможность для типа задавать свой mapper'ер по умолчанию. Сейчас поиск mapper'ов по умолчанию происходит в MemberMapper.CreateMemberMapper(MapMemberInfo mi). Не совсем понятно, зачем например, если я пишу под Oracle, искать среди mapper'ов для MS'ых Sql типов. Может поиск mapper'ов по умолчанию для специфичных типов вынести в IDataProvider. В общем хочется какой-то механизм позволяющий подпихивать свой MemberMapper который выбирался бы по умолчанию.
2. Map'ить не только member'ы бизнес объектов но и простые параметры. То есть на ряду с
IDbDataParameter[] DbManager.CreateParameters(object obj, params IDbDataParameter[] commandParameters)
иметь возможность создавать IDbDataParameter с object'а, предварительно выполнив его mapping. Добавить эту возможность в DataAccessor. То есть, допустим определён абстрактный метод
public abstract class TPTAccessor : DataAccessor<TopologyPropertyType>
{
public abstract int SomeSproc(int intValue, Guid guidValue);
// ...
}
В реализации этого метода, перед вызовом "SomeSproc" производить mapping intValue и guidValue.