ide*_*ser 3 .net c# asp.net-web-api asp.net-core
我想禁用 UserManager 的自动 SaveChanges 方法调用。我发现可以通过设置 UserStore 的 AutoSaveChanges 属性来实现。但是 .NET Core 2.1 中此类事情的最佳实践是什么?是否可以通过配置 IdentityBuilder 在 Startup.cs 中进行?
您需要在构造函数中创建一个继承 formMicrosoft.AspNetCore.Identity.EntityFrameworkCore.UserStore<IdentityUser>并设置AutoSaveChanges为to 的类,false然后将该类注册到IServiceCollectionbefore AddEntityFrameworkStores。
public class CustomUserStore : UserStore<IdentityUser>
{
public CustomUserStore(ApplicationDbContext context)
: base(context)
{
AutoSaveChanges = false;
}
}
Run Code Online (Sandbox Code Playgroud)
启动文件
public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<IUserStore<IdentityUser>, CustomUserStore>();
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString("DefaultConnection")));
services.AddDefaultIdentity<IdentityUser>()
.AddDefaultUI(UIFramework.Bootstrap4)
.AddEntityFrameworkStores<ApplicationDbContext>();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
554 次 |
| 最近记录: |