配置自定义数据类型映射以与 System.Data.SqlClient.SqlParameter 一起使用

2024-01-02

我有一个名为CaseInsensitiveString这只是一个包装器,允许我的程序使用字符串而不关心它们的大小写。不过,当它持久化到数据库时,它与常规字符串没有什么不同,所以我希望能够将它与System.Data.SqlClient.SqlParameter像这样:

var myString = new CaseInsensitiveString("foo");
var param = new SqlParameter("@MyValue", myString);

我当然不能那样做,因为SqlParameter不知道我的CaseInsensitiveString。我得到一个System.ArgumentException当我尝试将它与 SqlDataAdapter 一起使用时:

对象类型不存在映射 ConsoleApplication1.CaseInsensitiveString 到已知的托管提供程序 原生类型。

有没有办法制作自己的映射以便我可以转换CaseInsensitiveString to a System.String?我可以想象有一个我必须实现的接口CaseInsensitiveString. MSDN https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparameter%28v=vs.110%29.aspx没有提供任何相关信息。

我想,更简洁地说,我的问题实际上是:如何将一种数据类型强制转换为由System.Data.SqlClient.SqlParameter.


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

配置自定义数据类型映射以与 System.Data.SqlClient.SqlParameter 一起使用 的相关文章

随机推荐