今天在dapper中想扩展使用表值类型参数——tableValue。但是dapper不支持此类参数,于是扩展了一下。其中出现了一个问题。
Microsoft.SqlServer.Server.SqlMetaData[] tvpDefinition = { new Microsoft.SqlServer.Server.SqlMetaData("column1", SqlDbType.VarChar) };
这段代码报异常:dbType xx 对于此构造函数无效。
很明显SqlMetaData是支持两个参数构造的。百思不得其解,查看MSDN文档最下方发现这一段。深受启发,于是将代码修改为酱紫。
Microsoft.SqlServer.Server.SqlMetaData[] tvpDefinition = { new Microsoft.SqlServer.Server.SqlMetaData("column1", SqlDbType.VarChar,50) };
OK一切正常。
至于dapper扩展表值参数的方法,后期补上。