0

この Web サイトhttp://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/intro-to-aspnet-mvc-3にアクセスすると、ユーザーが映画データベースを作成します。このチュートリアルを問題なく完了し、プロジェクトを最終的にやりたいものに近づけるためのいくつかの小さな変更を加えて、新しい MVC アプリケーションを作成しようとしました。

Movie という名前のモデルを作成するのではなく、Issue という名前のモデルを作成しました。映画のように、いくつかのフィールドがありますが、それらはすべて異なる名前とタイプです。チュートリアルとまったく同じプロセスを実行しましたが、Web UI を介してデータベースに問題を追加しようとすると、DBEntityValidationException が発生します。プロセスのこの時点では検証ルールを設定していないため、何が問題なのかわかりません。

問題をデータベースに追加できるように、これを修正するためのアドバイスをいただけますか (オンライン チュートリアルの映画で行われているように)。さらに情報が必要な場合はお知らせください。私はこれに非常に慣れていないため、詳細が不足している可能性があります。

モデルコードは次のとおりです。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;

namespace MvcApplication200.Models
{
    public class Issue
    {
        public String id { get; set; }
        public DateTime created { get; set; }
        public DateTime closed { get; set; }
        public String summary { get; set; }
        public bool? importToTFS { get; set; }
    }

    public class IssueDBContext : DbContext
    {
        public DbSet<Issue> Issues { get; set; }
    }   
}

更新:プロセス全体をやり直しましたが、異なるフィールドと異なるタイプを使用するのではなく、課題モデルに同じ数と同じタイプのフィールド (名前のみが異なる) が含まれるようにしました。エラーは消えたので、問題はdb形式か何かにあるに違いありません。これで問題がより明確になることを願っています。

4

1 に答える 1

0

フィールドが変更されたときにデータベースからすべてを削除するこのクラスを追加しました。次に、データベースを更新します。これは、私の状況では簡単に実行できます。更新されたデータベースがクリアされた後、いくつかの項目が確実にデータベースに残るようにするために、Seed メソッドにいくつかの項目を追加できます。

public class IssueInitializer : DropCreateDatabaseIfModelChanges<IssueDBContext>
{
    protected override void Seed(IssueDBContext context)
    {
        //add things here
    }
}
于 2012-08-03T23:06:02.803 に答える