我正在尝试从包含 SQL Serverhierarchyid
类型(又名SqlHierachyId)列的 SQL Server 2008 R2 数据库中读取。
我想将这个类与 Dapper 一起使用:
public class Foo
{
public int Id { get; set; }
public SqlHierarchyId Path { get; set; }
}
例如:connection.Query<Foo>("select 3 as [Id], hierarchyid::Parse('/1/2/3/') as [Path]");
(注意测试,你需要参考 Program Files (x86)\Microsoft SQL Server\110\Shared\Microsoft.SqlServer.Types.dll
才能使用SqlHierarchyId)
如果我运行它,我会得到一个 DataException 异常:Error parsing column x (Path=/1/2/3/ - Object)
我尝试通过添加一个 ITypeMap 并在所有接口方法上设置断点以查看它传递了哪些值 - 但它永远不会被调用。
关于如何让 Dapper 让我指定自定义映射器的任何建议?(或者,如果有支持所有 Sql 类型的扩展,那也很好)