c# – 如何将IFormFile放入MVC6中的视图模型中

我正在尝试创建一个带有图像上传字段和名称字段的表单,并使用视图模型进行验证(参见下文).问题是当我将我的数据库迁移到此类的帐户或在Visual Studio中启动播放(启动该站点)时,我收到以下错误:

InvalidOperationException: The property 'ImageUpload' on entity type 'BallWallWebApp.ViewModels.Slides.CreateSlideViewModel' has not been added to the model or ignored.
Microsoft.Data.Entity.Metadata.Conventions.Internal.PropertyMappingValidationConvention.Apply(InternalModelBuilder modelBuilder)

码:

using Microsoft.AspNet.Http;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;

namespace BallWallWebApp.ViewModels.Slides
{
    public class CreateSlideViewModel
    {
        [Required]
        public int WallId { get; set; }

        [Required]
        [Display(Name = "Slide Name")]
        [DataType(DataType.Text)]
        public string Name { get; set; }

        [Required]
        [Display(Name = "Slide image file")]
        [DataType(DataType.Upload)]
        public IFormFile ImageUpload { get; set; }
    }
}

我错过了什么?

最佳答案 事实证明代码没有任何问题,我只是在创建视图时意外选择了一个数据上下文类,这意味着EF开始关注视图模型,它绝对不应该这样(View Models不应该靠近数据库).

点赞