我有一个ASP.NET MVC 6应用程序,我需要调用Database.EnsureCreated和Database.Migrate方法.
但我应该在哪里打电话给他们?
我正在尝试创建一个ASP.NET vNext WebAPI + AngularJS +实体框架项目.但显然,在EF7中有很多变化,所以我遇到了以下问题:
我改变了project.json如下:
"dependencies": {
"Microsoft.AspNet.Server.IIS": "1.0.0-beta1",
"EntityFramework": "7.0.0-beta1",
"EntityFramework.SqlServer": "7.0.0-beta1",
"EntityFramework.Commands": "7.0.0-beta1",
"Microsoft.AspNet.Mvc": "6.0.0-beta1",
"Microsoft.AspNet.Diagnostics": "1.0.0-beta1",
"Microsoft.Framework.ConfigurationModel.Json": "1.0.0-beta1"
Run Code Online (Sandbox Code Playgroud)
在我的DataContext类中,我尝试以下方法:
using System;
using Project1.Models;
using Microsoft.Data.Entity;
namespace Project1.DataAccess
{
public class DataContext
{
public DbSet<Website> Websites { get; set; }
public DataContext()
{
Microsoft.Data.Entity.Infrastructure.Database.SetInitializer(new DropCreateDatabaseIfModelChanges<DataContext>());
//Database.SetInitializer(new DropCreateDatabaseAlways<DataContext>());
}
}
}
Run Code Online (Sandbox Code Playgroud)
}
首先:为什么命名空间System.Data.Entity改为Microsoft.Data.Entity?在任何microsoft msdn文章中我都找不到任何有关此更改的内容!
第二:整体Database.SetInitializer不再起作用了.它建议使用Microsoft.Data.Entity.Infrastructure命名空间,但Database类不包含SetInitializer方法.