小编Cra*_*aig的帖子

如何启用 Blazor 热重载

观看 Dan Roth 的 Blazor 演示(2020 年 1 月 15 日)后,对 razor 文件的代码更改已刷新到浏览器,而无需停止|构建|运行周期。在我的 VS2019(最新)上,我没有得到热重载。这是来自标准模板的新 Blazor SS 项目。是否需要设置某个属性才能启用它?

我尝试了 dotnet run watch 但没有区别

blazor-server-side

7
推荐指数
1
解决办法
7067
查看次数

在 Blazor 中将 Identity 与 AddDbContextFactory 结合使用

在我的 Blazor .Net Core 3.1 服务器端应用程序中,我最近将 EF 内容范围从临时更改为使用工厂扩展,并且运行良好。但是,我将相同的 dbcontext 工厂代码添加到使用 Identity 的第二个项目中,并且在启动时出现异常。

InvalidOperationException: Unable to resolve service for type 'OMS.DALInterfaces.Models.OmsDbContext' while attempting to activate 'Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore`9
Run Code Online (Sandbox Code Playgroud)

这在没有使用工厂类时工作正常(即让 DI 处理 OMSDbContext)

services.AddDbContext<OmsDbContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")),
            ServiceLifetime.Transient
            );
            
services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
         .AddRoles<IdentityRole>()
         .AddEntityFrameworkStores<OmsDbContext>();
Run Code Online (Sandbox Code Playgroud)

现在在使用身份的项目中我尝试过:

services.AddDbContextFactory<OmsDbContext>(opt =>
                opt.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))
                .EnableSensitiveDataLogging());

services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
                .AddRoles<IdentityRole>()
                .AddEntityFrameworkStores<OmsDbContext>();
Run Code Online (Sandbox Code Playgroud)

那么在使用Factory扩展时如何在启动时定义Identity呢?

asp.net-identity entity-framework-core asp.net-core blazor blazor-server-side

4
推荐指数
1
解决办法
1427
查看次数

如何在 .NETCore 3.1 和 Blazor 中创建 DbContextFactory

我正在遵循有关如何设置 EF Core 以在 Blazor 和 .NET Core 3.1 中安全工作的指南。MS 文档在这里:https : //docs.microsoft.com/en-us/aspnet/core/blazor/blazor-server-ef-core?view=aspnetcore-3.1

在说明中,建议创建一个 DbContextFactory,用于在每个服务中创建一个 dbcontext。在 Blazor 世界中一切都有意义,但代码不会编译,因为 AddDbContextFactory 不存在。如果在 .Net Core 3.1/EF Core 3 中有另一种方法可以做到这一点 - 我看不到它。

services.AddDbContextFactory<ContactContext>(opt =>
    opt.UseSqlite($"Data Source={nameof(ContactContext.ContactsDb)}.db")
    .EnableSensitiveDataLogging());
Run Code Online (Sandbox Code Playgroud)

entity-framework .net-core blazor blazor-server-side

3
推荐指数
2
解决办法
4520
查看次数