SubSonic是否提供存储图像的任何机制(以byte []格式转换)?
有人可以帮忙摆脱这个错误吗?
数据库:SQL server 2005
开发环境:ASP.NET(c#)
亚音速版:2.2.1.0
DB中的数据类型:图像
Subsonic生成的DAL中的数据类型:DbType.Binary
代码中的数据类型:byte [] image
声明错误:
DB.Insert().Into(DamageItems.Schema, "ImageID", "Cost","Image").Values(imageID, cost,image).Execute();
在观察窗口中查询表达式:
{INSERT INTO [dbo].[ImageItems](ImageID,Cost,Image)
VALUES (@ins_ImageID,@ins_Cost,@ins_Image)
}
错误:
无法将参数值从Byte []转换为String。
答案 0 :(得分:0)
您可以尝试以下方法:
DB.Insert().Into<DamageItems>()
.Value(DamageItems.ImageIDColumn, imageID)
.Value(DamageItems.CostColumn, cost)
.Value(DamageItems.ImageColumn, image)
.Execute();
在指定TableColumn
个对象时可能会正确识别类型(在编写时无法立即测试)。
如果这不起作用,我还会检查命名具有数据类型名称(image
)的列是否会导致任何问题。
顺便说一下,从SQL 2005开始,image
已弃用,建议改为使用varbinary(max)
。