[英]Map My Object For Use with ADO.NET [duplicate]
这个问题已经在这里有了答案:
我收到异常“从对象类型MyType到已知的托管提供程序本机类型不存在映射”。 如何提供映射?
我正在通过ADO.NET将数据发送到SQL Server。 我基本上是将MyType转换为整数。 我不需要它作为MyType回来。 以int形式返回是很好的,尽管以MyType形式返回也很好。
对那些坚持看代码的人进行编辑:
我有一个类型:
class MyType {
int field1;
int field2;
}
我想将MyType
类型的变量paramValue
发送到数据库:
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()
的不可避免的日子。
数据库不知道如何存储MyType
。 保存时,应提供2个整数,读取时应从2个整数手动重新创建MyType
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.