1

データベースにデフォルトのデータをシードしたいのですが、例外がスローされます。

この初期化クラスを DAL 名前空間に追加しました

public class MyModelInitialise : DropCreateDatabaseIfModelChanges<MyModelContext>

{

    protected override void Seed(MyModelContext context)

    {

        base.Seed(context);



        var MyMarks = new List<MyMark>

        {

         new Mark{ Name="Mark1", Value="250"},

         new Mark{ Name="Mark2", Value="350"},

         new Mark{ Name="Mark3", Value="450"}

        };

        Marks.ForEach(bm => context.Marks.Add(bm));



        context.SaveChanges();

    }

}

この初期化子をアプリの起動に追加しました

protected void Application_Start()

   {

        Database.SetInitializer<MyModelContext>(new MyModelInitialise());

   }

これを呼び出すと、次のエラーが表示されます

Model compatibility cannot be checked because the DbContext instance was not created
using Code First patterns. DbContext instances created from an ObjectContext or using 
an EDMX file cannot be checked for compatibility.
4

2 に答える 2

1

クラスpublic DbSet<MyMark> MyMarks { get; set; }にいることを確認してください。MyModelContext

于 2013-11-12T08:02:43.120 に答える