控制器脚手架问题

问题描述 投票:0回答:2

我正在尝试为 EF 的以下模型搭建一个控制器,但我收到了:

无法检索“Project.Models.ItemModel”的元数据。

值不能为空。

参数名称:entitySet'

它是否试图从某处检索某些东西但无法检索?

项目型号

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; }
}
c# asp.net-mvc entity-framework
2个回答
1
投票

我自己尝试过...不认为您应该将 HttpPostedFileBase 存储为模型的属性,至少不要通过 EntityFramework 映射它并让它自动搭建脚手架。如果您考虑一下 - 您认为该属性类型会映射到哪些数据库字段?

如果您想将二进制数据实际存储在数据库中,请使用以下命令:

public byte[] File { get; set; }

0
投票

非常感谢您解决这些问题,但我主要关心的是 dbcontext 如何创建它以及我必须在哪里创建它?

© www.soinside.com 2019 - 2024. All rights reserved.