誰かがこれで私を助けてくれることを願っています。
VS 2012 と MVC4 を使用しています。
HttpPostedFileBaseを使用して、厳密に型指定されたモデルを使用してプロジェクトをテストしています。ビューをスキャフォールディングしようとすると、次のように失敗します。
---------------------------
Microsoft Visual Studio
---------------------------
Unable to retrieve metadata for 'ImageTest.Models.ImageHandler'. Value cannot be null.
Parameter name: key
---------------------------
OK
---------------------------
ネット上のいくつかの投稿で提案されているように、MVC をアンインストールしてから再インストールしようとしましたが、これは役に立ちませんでした。これは私のモデルです: (はい、ID で [Key] を試しましたが、違いはありません)
using System;
using System.Web;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace ImageTest.Models
{
public class ImageHandler
{
public int Id { get; set; }
public string ImageName { get; set; }
public HttpPostedFileBase File { get; set; }
}
}
コンテキストの問題である可能性があると思いましたが、カスタム コンテキストを作成するか、定義済みのコンテキストを使用するかは問題ではありません。同じエラーが発生します。これは事前定義されたコンテキストです:
using ImageTest.Models;
using System.Data.Entity;
public class ImageHandlerContext : DbContext
{
public ImageHandlerContext() : base("DefaultConnection")
{
}
public DbSet<ImageHandler> ImageHandler { get; set; }
}
テストとして、コメントアウトすると:
// public HttpPostedFileBase File { get; set; }
View を問題なくスキャフォールディングできます。これはバグですか?Scaffolding HttpPostedFileBase がサポートされていないドキュメントはどこにもありません。参照: HttpPostedFileBase
前もって感謝します。