簡體   English   中英

在ASP.Net MVC6 Identity框架中實現繼承

[英]Implement inheritence in ASP.Net MVC6 Identity framework

我目前正在研究ASP.Net 5 / ASP.Net MVC 6應用程序。 我將EntityFramework 7用作ORM框架和“代碼優先”方法。 在我的模型中,我具有以下內容:

  • 一個AppUser類,該類繼承自IdentityUser<int> IdentityUser是通過Microsoft.AspNet.Identity.EntityFramework包提供的,通過指定主鍵的數據類型並允許向其添加自定義字段,從而允許該類從提供的類繼承。 一切都可以正常工作(數據庫架構,插入等)
  • 一個Person類,該類繼承自上一個類,並添加了一些特定於應用程序的字段和邏輯。 基本上,我的想法是我應用中的每個人都是潛在用戶,但並非每個用戶都必須是人。

對於我所有的模型對象,我實現了一種通用存儲庫方法,該方法基本上是為每個模型類實現通用CRUD操作,並允許其覆蓋特定領域類的通用方法。

但是對於AppUser類,ASP.Net Identity框架帶有其自己的存儲庫,該存儲庫基本上允許添加用戶,向用戶添加角色,檢查登錄的唯一性等。

我的問題是:如何將這兩個存儲庫一起使用,以便在添加Person ,它通過Identity框架存儲庫創建一個AppUser ,然后將我的自定義Person的字段存儲在同一數據庫記錄中?

請注意,代碼優先解決了AppUser上Person的繼承,因為它是單表繼承:同一表存儲AppUser和Persons,並生成了一個判別字段。

您創建一個自定義管理器類,該類擴展了Identity框架提供的usermanger類。 這個新的CustomUserManager類將具有UserManager類的所有功能,以及要實現的用於添加Person的新功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM