我正在尝试创建一个带有图像上传字段和名称字段的表单,并使用视图模型进行验证(参见下文).问题是当我将我的数据库迁移到此类的帐户或在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不应该靠近数据库).