我最近启动了一个新的ASP。NET核心web应用程序,我想将其连接到本地SQLExpress数据库。我一直在关注文档,但当它尝试在以下位置读取我的连接字符串时,我得到了一个错误“Value cannot be null”
options.UseSqlServer(configuration.GetConnectionString("DefaultConnection")
这是到目前为止我的代码。在里面
Startup.cs
我有以下设置:
using Microsoft.AspNetCore.Builder;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Blondie.CoreApiSql.Models;
using Microsoft.Extensions.Configuration;
namespace Blondie.CoreApiSql
{
public class Startup
{
private readonly IConfiguration configuration;
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<DatabaseContext>
(options => options.UseSqlServer(configuration.GetConnectionString("DefaultConnection")));
services.AddMvc();
}
public void Configure(IApplicationBuilder app)
{
app.UseMvc();
}
}
}
运行应用程序时,将在以下行触发错误:
services.AddDbContext<DatabaseContext> (options => options.UseSqlServer(configuration.GetConnectionString("DefaultConnection")));
我已在中定义了连接字符串
appsettings.json
如以下文件所述:
{
"ConnectionStrings": {
"DefaultConnection": "Data Source=DESKTOP-PC009\\SQLEXPRESS;Database=Senua;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"Logging": {
"IncludeScopes": false,
"Debug": {
"LogLevel": {
"Default": "Warning"
}
},
"Console": {
"LogLevel": {
"Default": "Warning"
}
}
}
}
我已经创建了
Senua
数据库中有一个没有数据的表。我的数据库使用windows身份验证。
我已经用下面的方式用我的单个表定义了我的数据库上下文。
public class DatabaseContext : DbContext
{
public DatabaseContext(DbContextOptions<DatabaseContext> options)
: base(options)
{
}
public DbSet<Hellheim> Hellheim { get; set; }
}
我的理解是,只有当您未能在
appsettings。json
但我已经添加了它,以前有人有过这个问题吗?