iT邦幫忙

2024 iThome 鐵人賽

DAY 18
0
Modern Web

asp.net core 分層架構快速上手系列 第 19

Day18 自定義註冊資料

  • 分享至 

  • xImage
  •  
  • 修改ApplicationDbContext

上方設置 public class ApplicationDbContext : IdentityDbContext
如果錯誤=>設置:using Microsoft.AspNetCore.Identity;
https://ithelp.ithome.com.tw/upload/images/20240919/20147438paF0mrZwhP.png

新增Model獲取
public DbSet ApplicationUsers { get; set; }
https://ithelp.ithome.com.tw/upload/images/20240919/201474388thujB2GhR.png

  • 自定義UserModel

*資料庫中AspNetUsers資料表已經定義好USER基礎的欄位。
*可以新增自定義的屬性:
在Models資料夾底下新增自定義的ApplicationUser繼承IdentityUser
增加Name與Address欄位。
*更新資料庫:
Add-migration ExtendIdntityUser
Update-database

public class ApplicationUser : IdentityUser
    {
        [Required]
        public string Name { get; set; }
        public string Address { get; set; }
    }

https://ithelp.ithome.com.tw/upload/images/20240919/20147438lj0YO0CmyS.jpg

  • 新增ApplicationUserRepository

複製Category的Repository與IRepository,
再用ApplicationUser取代Category。
只保留下列程式即可。

public interface IApplicationUserRepository : IRepository<ApplicationUser>
   {
   }

https://ithelp.ithome.com.tw/upload/images/20240919/20147438r1mI8hIHYk.png

public class ApplicationUserRepository : Repository<ApplicationUser>, IApplicationUserRepository
    {
        private ApplicationDbContext _db;
        public ApplicationUserRepository(ApplicationDbContext db) : base(db)
        {
            _db = db;
        }
    }

https://ithelp.ithome.com.tw/upload/images/20240919/20147438IdqexEZIKj.png

  • 修改UnitOfWork

開啟UnitOfWork與IUnitOfWork做以下修改
UnitOfWork:

 public IApplicationUserRepository ApplicationUser { get; private set; }
 ApplicationUser = new ApplicationUserRepository(_db);

https://ithelp.ithome.com.tw/upload/images/20240919/20147438l9uZYQlGZg.png

IUnitOfWork:

 IApplicationUserRepository ApplicationUser { get; }
  • 修改Register.cshtml.cs

1.資料表會多一個Discriminator欄位,用於紀錄IdentityUser,
2.開啟Areas\Identity\Pages\Account\Register.cshtml.cs更新為ApplicationUser

https://ithelp.ithome.com.tw/upload/images/20240920/20147438zWNRqGKduz.jpg


上一篇
Day17 首頁顯示產品
下一篇
Day19 添加角色與權限控管
系列文
asp.net core 分層架構快速上手31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言