记开发个人图书收藏清单小程序开发初始化书房信息修改
Posted bu-dong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记开发个人图书收藏清单小程序开发初始化书房信息修改相关的知识,希望对你有一定的参考价值。
因为之前逻辑设计有点小问题,所以修改了一下:
增加core._User的Table:
1 CREATE TABLE [core].[_User] 2 ( 3 [ID] INT NOT NULL PRIMARY KEY, 4 [StringID] VARCHAR(36) NOT NULL, 5 CONSTRAINT [FK_User_Party] FOREIGN KEY ([ID]) REFERENCES [core].[_Party] ([ID]) 6 )
在Web端需要传入StringID(也即微软Identity自动生成的AspNetUsers Table的ID)。
WebUI的Project增加Service:
/Services/UserManagerService.cs
1 public class UserManagerService : UserManager<IdentityUser> 2 { 3 public UserManagerService(IUserStore<IdentityUser> store 4 , IOptions<IdentityOptions> optionsAccessor 5 , IPasswordHasher<IdentityUser> passwordHasher 6 , IEnumerable<IUserValidator<IdentityUser>> userValidators 7 , IEnumerable<IPasswordValidator<IdentityUser>> passwordValidators 8 , ILookupNormalizer keyNormalizer 9 , IdentityErrorDescriber errors 10 , IServiceProvider services 11 , ILogger<UserManager<IdentityUser>> logger) 12 : base(store, optionsAccessor, passwordHasher, userValidators, passwordValidators, keyNormalizer, errors, services, logger) 13 { 14 } 15 16 }
当然,也需要在Startup.cs文件的ConfigureServices中增加依赖注入:
1 services.AddScoped<UserManagerService>();
修改Init.cshtml.cs中的部分:
1 using M = Shelf; 2 public class InitModel : PageModel 3 { 4 private readonly IShelfRepo _shelfRepo; 5 private readonly UserManagerService _userManagerService; 6 public InitModel(IShelfRepo shelfRepo 7 , UserManagerService userManagerService) 8 { 9 _shelfRepo = shelfRepo; 10 _userManagerService = userManagerService; 11 } 12 [BindProperty] 13 public InitInputModel Input { get; set; } 14 15 public void OnGet() 16 { 17 18 } 19 20 public async Task<IActionResult> OnPostAsync() 21 { 22 if (ModelState.IsValid) 23 { 24 await _shelfRepo.InitAsync(new M.InitSpec 25 { 26 StringID = _userManagerService.GetUserId(User), 27 NickName = Input.NickName.Trim(), 28 ShelfName = Input.ShelfName.Trim() 29 }); 30 return RedirectToPage("New"); 31 } 32 return Page(); 33 } 34 }
主要是第26行。对应的给InitSpec Model也增加StringID的字段。
好了,现在BL DB和登录信息关联上了。
以上是关于记开发个人图书收藏清单小程序开发初始化书房信息修改的主要内容,如果未能解决你的问题,请参考以下文章