Yop*_*opa 1 c# asp.net asp.net-mvc asp.net-identity asp.net-core
我有一个项目,我必须在其中创建一个 ASP.NET Core MVC Web 应用程序,我应该在其中包含用户注册、登录和具有基本 CRUD 操作和相应视图的 SQL 数据库。对于登录和注册,我决定按照本教程使用 Asp.Net Core Identity:https : //youtu.be/CzRM-hOe35o. 一切正常,注册和登录看起来都很好,但我不知道如何将我的数据库与 Identity 生成的数据库一起使用。我对项目数据库的想法是为用户和文章创建一个表(有更多的表,但我将保持简单来解释我的问题)具有一对多的关系。现在我有一个关于用户的所有事情的生成数据库(来自身份教程)我如何在数据库中包含这个文章表并在 AspNetUsers 和文章之间建立一对多的关系?或者我可以在我的项目中使用两个数据库,一个用于用户,另一个用于其他项目表?但是如何在不同数据库的表之间建立关系,甚至可能吗?
首先,您应该知道您可以使用两个数据库,但不能在这种情况下使用。
要执行您想要的操作,请按照下列步骤操作:
步骤 1 - 在名为“Data”的项目文件夹中创建一个名为“User”的类。类将是这样的:
public class User : IdentityUser
{
}
Run Code Online (Sandbox Code Playgroud)
第 2 步 - 在名为“Data”的同一文件夹中创建另一个名为“Article”的类。
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; }
}
Run Code Online (Sandbox Code Playgroud)
第 3 步 - 转到您在第一步中创建的“用户”类并将其编辑为如下所示
public class User : IdentityUser
{
public virtual ICollection<Article> Articles { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
第 4 步 - 在您添加这两个类的同一个文件夹中,您有另一个名为“ApplicationDbContext”的类。打开它并注册 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)
{
}
}
Run Code Online (Sandbox Code Playgroud)
第 5 步 - 在本地数据库中删除之前从项目生成的现有数据库。之后“添加迁移”和“更新数据库”
有关 Entity Framework Core 如何工作的更多信息,请参阅链接:https : //www.learnentityframeworkcore.com/conventions/one-to-many-relationship# :~: text= The%20easiest%20way%20to%20configure, public% 20class%20作者
| 归档时间: |
|
| 查看次数: |
2342 次 |
| 最近记录: |