我正在從「pro asp.net mvc3」一書中構建sportsstore應用程序。在第9章中,我必須添加圖像上傳功能。我更新了我的域對象「產品」,並將列添加到我的數據庫中。在這些步驟之後,作者steven sanderson建議我們需要更新實體框架概念模型,以便db和我的域對象正確地映射在一起。更新實體框架概念模型
我沒有在我的解決方案中使用sportsstore.edmx文件,因爲我們開始使用本書的POCO對象和源代碼也缺少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; }
}
我的產品表定義爲
您將ImageMimeType聲明爲代碼中的字符串,但它在數據庫中聲明爲二進制字段。 – Oxymoron