我收到异常“不存在从对象类型 MyType 到已知托管提供程序本机类型的映射。” 如何提供映射?
我通过 ADO.NET 将数据发送到 SQL Server。我基本上是将 MyType 转换为整数。我不需要它作为 MyType 回来。它以 int 形式返回很好,但以 MyType 形式返回会很好。
编辑那些坚持看代码的人:
我有一个类型:
class MyType {
int field1;
int field2;
}
我想将一个paramValue
类型的变量发送MyType
到数据库:
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
command.Parameters.AddWithValue("@param", paramValue);
connection.Open();
SqlDataReader reader = command.ExecuteNonQuery();
}
编辑
假设我有一个功能:
class MyType {
int field1;
int field2;
public int dbValue() {
return field1 + field2;
}
}
我想使用:
command.Parameters.AddWithValue("@param", paramValue);
代替:
command.Parameters.AddWithValue("@param", paramValue.dbValue());
因为我不想把.dbValue()
它发送到数据库的任何地方。这只是推迟了我忘记提出的不可避免的一天.dbValue()
。