2 回答

TA貢獻1818條經驗 獲得超8個贊
假設連接字符串設置在appsetting.json文件中。將文件添加到項目中
appsetting.json
{
"ConnectionStrings": {
"UserDatabase": "Server=DESKTOP-2K2A6GN;Database=Assignment4;Trusted_Connection=True;"
}
}
更新 DbContext 以便可以對其進行配置。
public class UserContext : DbContext {
public UserContext(DbContextOptions<UserContext> options): base(options) {
}
public virtual DbSet<User> tblUser { get; set; }
}
您將Startup在ConfigureServices方法的類中配置 DbContext 。
public class Startup {
public Startup(IHostingEnvironment env) {
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json");
Configuration = builder.Build();
}
static IConfiguration Configuration { get; set; }
public void ConfigureServices(IServiceCollection services) {
services.AddDbContext<UserContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("UserDatabase"));
);
//...
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env) {
if (env.IsDevelopment()) {
app.UseDeveloperExceptionPage();
}
app.UseBlazor<Client.Program>();
}
}

TA貢獻1847條經驗 獲得超7個贊
您可以在文件 UserContext.cs 中更改
public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory<AppDbContext>
{
public UserContext CreateDbContext(string[] args)
{
IConfiguration configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json").Build();
var builder = new DbContextOptionsBuilder<AppDbContext>();
var connectionString = configuration.GetConnectionString("UserDatabase");
builder.UseSqlServer(connectionString);
return new AppDbContext(builder.Options);
}
}
在文件 Startup.cs 中
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<UserContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("UserDatabase"),
b => b.MigrationsAssembly("xxx.Data")));
}
- 2 回答
- 0 關注
- 400 瀏覽
添加回答
舉報