簡體   English   中英

如何將表和關系添加到生成的 Asp.Net Core MVC Identity 數據庫?

[英]How to add tables and relations to generated Asp.Net Core MVC Identity database?

我有一個項目,我必須制作一個 ASP.NET Core MVC Web 應用程序,其中我應該包括用戶注冊、登錄和一個 SQL 操作數據庫和基本視圖。 對於登錄和注冊,我決定按照本教程使用 Asp.Net Core Identity: https://youtu.be/CzRM-hOe35o 一切正常,注冊和登錄看起來都很好,但我不知道如何將我的數據庫與 Identity 生成的數據庫一起使用。 我對項目數據庫的想法是為用戶和文章創建一個表(有更多表,但我會保持簡單地解釋我的問題),並具有一對多的關系。 現在我已經為關於用戶的所有事情生成了一個數據庫(來自 Identity 教程),我如何在數據庫中包含這個 Article 表並在 AspNetUsers 和 Article 之間建立一對多的關系? 或者我可以在我的項目中使用兩個數據庫,一個用於用戶,另一個用於其他項目表? 但是那么如何在來自不同數據庫的表之間建立關系,甚至可能嗎?

首先,您應該知道您可以使用兩個數據庫,但在這種情況下永遠不會。

要執行您想要的操作,請按照以下步驟操作:

第 1 步 - 在名為“Data”的項目文件夾中創建一個名為“User”的 class。 Class 將是這樣的:

public class User : IdentityUser
{
   
}

步驟 2- 在名為“Data”的同一文件夾中創建另一個名為“Article”的 class。

 public class Article
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
    public virtual User User { get; set; }
}

第 3 步 - Go 到您在第 1 步中創建的“用戶”class 並將其編輯為如下所示

 public class User : IdentityUser
{
    public virtual ICollection<Article> Articles { get; set; }
}

第 4 步 - 在您添加這兩個類的同一個文件夾中,您還有另一個名為“ApplicationDbContext”的 class。 打開它並注冊 User 和 Article 類。

 public class ApplicationDbContext : IdentityDbContext
{
    public DbSet<User> Users { get; set; }
    public DbSet<Article> Articles { get; set; }
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
        : base(options)
    {
    }
}

第 5 步 - 在您的本地數據庫中刪除之前從您的項目生成的現有數據庫。 之后“添加遷移”和“更新數據庫”

有關 Entity Framework Core 如何工作的更多信息,請參閱鏈接: https://www.learnentityframeworkcore.com/conventions/one-to-many-relationship#:~:text=The%20easiest%20way%20to%20configure,public% 20class%20作者

暫無
暫無

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

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