我試圖構建一個註冊用戶列表作爲選擇的下拉列表中的應用程序,將任務分配給人(最終與電子郵件集成)。我成功地使用了AspNetCore.Identity來創建註冊用戶。使用AspNetCore.Identity創建身份註冊用戶列表
這裏是我到目前爲止已經試過一個例子:
public class MinutaDbContext : IdentityDbContext<User>
{
public List<User> QueryUserNames()
{
var context = new MinutaDbContext();
var allUsers = context.Users.ToList();
return allUsers;
}
}
控制器:
public UserAssignmentController(UserManager<ApplicationUser> userManager, RoleManager<IdentityRole> roleManager)
{
UserManager = userManager;
RoleManager = roleManager;
}
我已經看到了關於與AspNet.Identity解決方案的UserManager不起作用的答覆因爲它在AspNetCore中有不同的聲明,並且我不確定如何滿足上述所需的參數。
需要的LINQ還是可以提取從列表:
public UserManager(IUserStore<TUser> store, IOptions<IdentityOptions> optionsAccessor, IPasswordHasher<TUser> passwordHasher, IEnumerable<IUserValidator<TUser>> userValidators, IEnumerable<IPasswordValidator<TUser>> passwordValidators, ILookupNormalizer keyNormalizer, IdentityErrorDescriber errors, IServiceProvider services, ILogger<UserManager<TUser>> logger);
或者我應該尋找其他地方,如IQueryableUserStore接口?
更新 我的DbContext構造函數已經用參數選項擴展了base。
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddSingleton(Configuration); // Injections
services.AddSingleton<IGreeter, Greeter>();
services.AddScoped<INoteData, SqlNoteData>();
services.AddDbContext<MinutaDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("Minuta")));
services.AddIdentity<User, IdentityRole>()
.AddEntityFrameworkStores<MinutaDbContext>();
}
我已經將請求的startup.cs ConfigureServices方法添加爲上面的編輯。範圍也被添加到實施服務收集,但我不確定這將如何影響我獲得註冊用戶列表的能力? – Remy