我试图为EF的以下模型搭建一个控制器,但我收到了:
无法检索' Project.Models.ItemModel'的元数据。
值不能为空。
参数名称:entitySet'
它是否试图从某个地方检索某些东西但是不能?
ItemModel
public class ItemModel
{
public class ItemPicture
{
[Key, ForeignKey("ItemModel")]
public virtual int ItemID {get;set;}
public HttpPostedFileBase Image { get; set; }
public virtual ItemModel ItemModel { get; set; }
}
[Key]
public int ItemID { get; set; }
[Required(ErrorMessage ="{0} is required.")]
[Display(Name ="Item Name")]
public string ItemName { get; set; }
[Required(ErrorMessage = "{0} is required.")]
[Display(Name = "Item Description")]
[DataType(DataType.MultilineText)]
public string ItemDesc { get; set; }
[Required(ErrorMessage = "{0} is required.")]
[Display(Name = "Item Price")]
public decimal ItemPrice { get; set; }
public virtual ItemPicture Picture { get; set; }
[Required(ErrorMessage = "{0} is required.")]
[Display(Name = "Enable Front Feature")]
public bool FrontFeature { get; set; }
}
答案 0 :(得分:1)
我自己试过......不要认为你应该将HttpPostedFileBase存储为模型的属性,至少不要通过EntityFramework映射它并让它自动搭建。如果你考虑一下 - 你认为这个属性类型将映射到哪些数据库字段?
如果要将二进制数据实际存储在数据库中,请使用以下命令:
public byte[] File { get; set; }