相关疑难解决方法(0)

如何以及在何处调用Database.EnsureCreated和Database.Migrate?

我有一个ASP.NET MVC 6应用程序,我需要调用Database.EnsureCreated和Database.Migrate方法.

但我应该在哪里打电话给他们?

asp.net asp.net-mvc entity-framework entity-framework-core

59
推荐指数
6
解决办法
4万
查看次数

ASP.NET vNext MVC和实体框架问题

我正在尝试创建一个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方法.

entity-framework entity-framework-core asp.net-core

5
推荐指数
1
解决办法
2428
查看次数