Asp.net mvc 4 ';HttpPostedFileBase';没有定义键。定义此EntityType的键
我已经创建了一个应用程序来上传数据库中的图像 这是我的模型Asp.net mvc 4 ';HttpPostedFileBase';没有定义键。定义此EntityType的键,asp.net-mvc-4,Asp.net Mvc 4,我已经创建了一个应用程序来上传数据库中的图像 这是我的模型 [Table("ImageGallery")] public class ImageGallery { [Key] public int ImageID { get; set; } public int ImageSize { get; set; } public string FileName { get; set; } public byte[] ImageData { get; set; }
[Table("ImageGallery")]
public class ImageGallery
{
[Key]
public int ImageID { get; set; }
public int ImageSize { get; set; }
public string FileName { get; set; }
public byte[] ImageData { get; set; }
[Required(ErrorMessage="Please select Image File")]
public HttpPostedFileBase file { get; set; }
}
这是我的数据库模型
public class TPADB : DbContext
{
public DbSet<ImageGallery> imagegallery { get; set; }
}
但它通过一个错误
“在模型生成过程中检测到一个或多个验证错误:
TPA.Models.HttpPostedFileBase::EntityType“HttpPostedFileBase”未定义键。请定义此EntityType的键。
HttpPostedFileBase:EntityType:EntitySet'HttpPostedFileBase'基于没有定义键的类型'HttpPostedFileBase'。解决了这个问题,请对模型进行以下更改:
public partial class ImageGallery
{
[Key]
public int ImageID { get; set; }
public int ImageSize { get; set; }
public string FileName { get; set; }
public byte[] ImageData { get; set; }
public string File
{
get
{
string mimeType = "image/png";
string base64 = Convert.ToBase64String(ImageData);
return string.Format("data:{0},{1}", mimeType, base64);
}
}
}
然后将此行添加到控制器:
HttpPostedFileBase File = Request.Files[0];
用文件替换任何IG.File条目,例如:
if (File.ContentLength > (2 * 1024 * 1024))
HttpPostedFileBase File = Request.Files[0];
if (File.ContentLength > (2 * 1024 * 1024))