我有一个项目,我必须制作一个ASP.NET Core MVC Web应用程序,其中应包括用户注册,登录以及带有基本CRUD操作和相应视图的SQL数据库。对于登录和注册,我决定按照本教程使用Asp.Net Core Identity:https : //youtu.be/CzRM-hOe35o。一切正常,并且可以很好地进行注册和登录,但是我不知道如何将数据库与Identity生成的数据库一起使用。我对项目数据库的想法是为用户和文章建立一个表(有更多表,但我将简化解释我的问题)并具有一对多关系。既然已经有了一个有关Users的所有东西的生成数据库(来自Identity教程),如何在数据库中包含Article表,并在AspNetUsers和Article之间建立一对多关系?还是可以在项目中使用两个数据库,一个数据库用于“用户”,另一个数据库用于其他项目表?但是,如何在不同数据库的表之间建立关系,甚至有可能吗?
首先,您现在应该可以使用两个数据库,但决不能使用这种情况。
若要执行您想要的操作,请按照下列步骤操作:
步骤1-在名为“ Data”的项目文件夹中创建一个名为“ User”的类。类将是这样的:
public class User : IdentityUser
{
}
步骤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; }
}
第3步-转到您在第1步中创建的“ User”类,然后对其进行编辑以使其看起来像这样
public class User : IdentityUser
{
public virtual ICollection<Article> Articles { get; set; }
}
步骤4-在添加了这两个类的同一文件夹中,您拥有另一个名为“ ApplicationDbContext”的类。打开它并注册用户和文章类。
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=% 20easiest%20way%20to%20configure, public% 20class%20Author
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句