IRelationalDatabaseCreator 服务
IRelationalDatabaseCreator service
昨天我开始学习 ASP.NET 5 MVC 6 with Entity Framework 7.0.0-rc1-final
并且我遵循了这个教程:Link。问题是当我 运行 它在这个函数上抛出 NullPointerException:
if (serviceProvider.GetService<IRelationalDatabaseCreator>().Exists())
{//adding some entities }
我的连接字符串是:"Server=(localdb)\MSSQLLocalDB; Database=Test; Trusted_Connection=True; MultipleActiveResultSets=true"
在 Startup.cs 我有这个代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<Models.HRPContext>(options =>
{
options.UseSqlServer(Configuration["Data:ConnectionString"]);
});
.......
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
Utils.AddSampleData.Initialize(app.ApplicationServices);
......
}
尚未创建数据库测试。有人解决了这个异常吗?谢谢
你想调试你的应用程序来解决这个问题,在这一行放置一个断点
if (serviceProvider.GetService<IRelationalDatabaseCreator>().Exists())
并检查哪个成员是 null
。我怀疑你还没有注册 IRelationalDatabaseCreator
或者出于某种原因它没有被你的 IoC 容器接收到。
那个教程是out of date. Use this one。
在更新的教程中,if 语句不存在。相反,它通过检查上下文对象的 Database
属性 来检查数据库是否存在:
if (context.Database == null)
{
throw new Exception("DB is null");
}
昨天我开始学习 ASP.NET 5 MVC 6 with Entity Framework 7.0.0-rc1-final
并且我遵循了这个教程:Link。问题是当我 运行 它在这个函数上抛出 NullPointerException:
if (serviceProvider.GetService<IRelationalDatabaseCreator>().Exists())
{//adding some entities }
我的连接字符串是:"Server=(localdb)\MSSQLLocalDB; Database=Test; Trusted_Connection=True; MultipleActiveResultSets=true"
在 Startup.cs 我有这个代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<Models.HRPContext>(options =>
{
options.UseSqlServer(Configuration["Data:ConnectionString"]);
});
.......
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
Utils.AddSampleData.Initialize(app.ApplicationServices);
......
}
尚未创建数据库测试。有人解决了这个异常吗?谢谢
你想调试你的应用程序来解决这个问题,在这一行放置一个断点
if (serviceProvider.GetService<IRelationalDatabaseCreator>().Exists())
并检查哪个成员是 null
。我怀疑你还没有注册 IRelationalDatabaseCreator
或者出于某种原因它没有被你的 IoC 容器接收到。
那个教程是out of date. Use this one。
在更新的教程中,if 语句不存在。相反,它通过检查上下文对象的 Database
属性 来检查数据库是否存在:
if (context.Database == null)
{
throw new Exception("DB is null");
}