使用Framework 6没有为MVC应用程序配置数据存储

时间:2015-07-24 06:19:02

标签: asp.net sql-server entity-framework

使用框架6和&amp ;;创建一个MVC应用程序。 ASP.NET vNext。

Application使用Entity Framework查找数据库表。 config.json文件中存在的连接字符串无法从报告以下异常的应用程序中读取。

异常

  

“未配置数据存储。使用On Configuration配置数据存储,或者通过创建ImmutableDbContextOptions并配置数据存储并将其传递到上下文来配置数据存储。”

config.json

{
"Data": {
"DefaultConnection": {
"Context": "Server=     .;Database=Database1;Trusted_Connection=True;MultipleActiveResultSets=true"
                              }
        }
}

startup.cs

public void Configure(IBuilder app)
{

// Setup configuration sources
var configuration = new Configuration();
configuration.AddJsonFile("config.json");
configuration.AddEnvironmentVariables();

// Set up application services
app.UseServices(services =>
{
// Add EF services to the services container
services.AddEntityFramework()
.AddSqlServer();

// Configure DbContext
services.SetupOptions<DbContextOptions>(options =>
{
options.UseSqlServer(configuration.Get("Data:DefaultConnection:Context")    );
});

// Add Identity services to the services container
services.AddIdentity<ApplicationUser>()
.AddEntityFramework<ApplicationUser, ApplicationDbContext>()
.AddHttpSignIn();

// Add MVC services to the services container
services.AddMvc();
});

// Enable Browser Link support
app.UseBrowserLink();

// Add static files to the request pipeline
app.UseStaticFiles();

// Add cookie-based authentication to the request pipeline
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Home/Details"),
});

这可能与身份背景有关。

感谢您的任何建议。

  • sql server 2008
  • MVC6
  • asp.net vNext

1 个答案:

答案 0 :(得分:0)

通过创建配置了数据存储并将其传递给上下文的DbContext来配置数据存储。

public TestContext(IServiceProvider serviceProvider,        IOptionsAccessor<TestDbContextOptions> optionsAccessor)
: base(serviceProvider, optionsAccessor.Options)
{
       if (!_created)
       {
                   Database.EnsureCreated();
                  _created = true;
        }
}

解决了我的问题谢谢。