使用框架6和&amp ;;创建一个MVC应用程序。 ASP.NET vNext。
Application使用Entity Framework查找数据库表。 config.json文件中存在的连接字符串无法从报告以下异常的应用程序中读取。
“未配置数据存储。使用On Configuration配置数据存储,或者通过创建ImmutableDbContextOptions并配置数据存储并将其传递到上下文来配置数据存储。”
{
"Data": {
"DefaultConnection": {
"Context": "Server= .;Database=Database1;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
}
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"),
});
这可能与身份背景有关。
感谢您的任何建议。
答案 0 :(得分:0)
通过创建配置了数据存储并将其传递给上下文的DbContext来配置数据存储。
public TestContext(IServiceProvider serviceProvider, IOptionsAccessor<TestDbContextOptions> optionsAccessor)
: base(serviceProvider, optionsAccessor.Options)
{
if (!_created)
{
Database.EnsureCreated();
_created = true;
}
}
解决了我的问题谢谢。