1

EF 4.3を使用して既存のMVCにメタデータ部分クラスを追加しようとしていますが、クラスを追加する場所がわかりません。Blogs、、Postsおよびを含むDBFirstMVCチュートリアルを使用しCommentsます。クラスにいくつかの検証を追加したいのですが、それを行う方法を調査した後、それを飾る Blog新しい部分クラスを追加する必要があることがわかりましたBlogMetadataType(typeof(BlogMetaData))]

と同じ名前空間に配置されるはずですがBlog、Modelフォルダーにクラスを追加しようとすると、既に存在することを示すポップアップが表示され、上書きします。いいえと言うと、作成できません。メタデータクラスは物理的にどこに行きますか?

4

2 に答える 2

2

メタデータフォルダを作成し、その中にファイルをドロップすることができます。同じ名前空間を維持していることを確認してください。場所はあまり重要ではありません。実際にファイルにBlogMetadataという名前を付けて、部分的な宣言とメタデータクラスを含めることができます。このアプローチを選択する人もいます。

于 2012-05-30T03:06:12.083 に答える
0

OK、わかりました。私はまだMVCを学んでいるので、少し前にDbContextクラスからコンストラクターを削除したに違いありません。これにより、プロジェクトをデータベースファーストのように扱っていたときに、プロジェクトがコードファーストプロジェクトになったと思います。戻ってJulieLermansのビデオを見ると、彼女のビデオでコンストラクターを見て、それを私のものに追加しましたが、今は問題なく動作しています。これがまさに私が削除したものです:

public DBFirstMVCContext()
        : base("name=BlogDataEntities")
    {
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        throw new UnintentionalCodeFirstException();
    }
于 2012-05-30T15:54:28.643 に答える