确保在 Blazor 项目中安装了 Microsoft.EntityFrameworkCore 和 Microsoft.EntityFrameworkCore.SqlServer 包。
确保在 DbContext 中已指定了正确的数据库连接字符串。
示例:
public class ApplicationDbContext : DbContext
{
public ApplicationDbContext(DbContextOptions options)
: base(options)
{
}
public DbSet Users { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=MyDatabase;Integrated Security=True;MultipleActiveResultSets=True");
}
}
示例: 客户端项目:
services.AddHttpClient("Api", client => client.BaseAddress = new Uri("https://localhost:44385/"))
.AddHttpMessageHandler();
services.AddScoped(sp => sp.GetRequiredService()
.CreateClient("Api"));
services.AddOidcAuthentication(options =>
{
options.ProviderOptions.Authority = "https://localhost:44388";
options.ProviderOptions.ClientId = "blazorwasm";
options.ProviderOptions.ResponseType = "code";
options.ProviderOptions.DefaultScopes.Add("email");
});
services.AddAuthorizationCore();
services.AddTransient();
services.AddBlazoredLocalStorage();
services.AddScoped();
services.AddScoped();
services.AddScoped(sp => new HttpClient { BaseAddress = new Uri("https://localhost:44385/") });
services.AddScoped();
services.AddDevExpressBlazor();
services.AddDevExpressChartsBlazor();
服务器项目:
services.AddDbContext(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddDefaultIdentity()
.AddEntityFrameworkStores();
services.AddIdentityServer()
.AddApiAuthorization();
services.AddAuthentication()
.AddIdentityServerJwt();
services.AddControllersWithViews();
services.AddRazorPages();