我正在从《 pro asp.net mvc3》这本书中构建sportsstore应用程序。在第9章中,我必须添加图像上传功能。我已经更新了域对象“产品”,并将列添加到了数据库中。经过这些步骤后,作者steven sanderson建议我们需要更新实体框架概念模型,以便db和我的域对象正确映射在一起。
我从POCO对象开始时,我的解决方案中没有sportsstore.edmx文件,而本书的源代码也缺少edmx文件?
当我通过编辑产品上传图片时遇到此错误?
不允许从数据类型nvarchar(max)隐式转换为varbinary。使用CONVERT函数运行此查询。
说明:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中起源的更多信息。
异常详细信息:System.Data.SqlClient.SqlException:不允许从数据类型nvarchar(max)到varbinary的隐式转换。使用CONVERT函数运行此查询。
我的产品类别定义为:
public class Product { [HiddenInput(DisplayValue = false)] public int ProductID { get; set; } [Required(ErrorMessage="Please enter a Product Name")] public string Name { get; set; } [Required(ErrorMessage="Please enter product description")] [DataType(DataType.MultilineText)] public string Description { get; set; } [Required(ErrorMessage="Please enter product price")] [Range(0.01, double.MaxValue,ErrorMessage="Please enter positive price")] public decimal Price { get; set; } [Required(ErrorMessage="Please enter product category")] public string Category { get; set; } public byte[] ImageData { get; set; } [HiddenInput(DisplayValue = false)] public string ImageMimeType { get; set; } }
我的产品表定义为
在此处输入图片说明