ASP.net 身份如何访问数据库,这是我应该使用的方式吗?
How does ASP.net Identity access the database and is it the way i should be using?
我正在开发一个 ASP.net MVC 网站,该网站具有用于安全和登录的身份。我或多或少知道使用 ASP.net Identity 的基础知识,但我遇到的一个问题是我不知道它如何从连接字符串访问数据库。
澄清我的问题:ASP.net 身份如何访问数据库,我应该使用相同的方法吗?
要访问数据库,您可以使用 entity framework 并使用数据库优先方法。
您已经使用命令
从您table创建了权利
Scaffold-DbContext "Server=;Initial Catalog=dbname
;IntegratedSecurity=False;User ID=;Password=;
ConnectTimeout=15;
Encrypt=False;TrustServerCertificate=True;
ApplicationIntent=ReadWrite;MultiSubnetFailover=False"
Microsoft.EntityFrameworkCore.SqlServer -OutputDir Entities -f
命令将为您创建上下文对象,您可以使用它来访问数据库。
Asp.net Identity 使用 entity framework 连接到数据库并拥有自己的 DbContext class,您可能可以在 IdentityModel.cs
中找到它,其名称为 ApplicationDbContext
,它使用代码优先方法创建与 ASP.NET Identity 相关的表,您可以通过向 ApplicationUser 添加属性来扩展属性。如果你想改变它的 ConnectionString
你可以通过将你的 connectionString 添加到它的基础开始,如下所示:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("YourConnectionString", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
我正在开发一个 ASP.net MVC 网站,该网站具有用于安全和登录的身份。我或多或少知道使用 ASP.net Identity 的基础知识,但我遇到的一个问题是我不知道它如何从连接字符串访问数据库。
澄清我的问题:ASP.net 身份如何访问数据库,我应该使用相同的方法吗?
要访问数据库,您可以使用 entity framework 并使用数据库优先方法。
您已经使用命令
从您table创建了权利Scaffold-DbContext "Server=;Initial Catalog=dbname ;IntegratedSecurity=False;User ID=;Password=; ConnectTimeout=15; Encrypt=False;TrustServerCertificate=True; ApplicationIntent=ReadWrite;MultiSubnetFailover=False" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Entities -f
命令将为您创建上下文对象,您可以使用它来访问数据库。
Asp.net Identity 使用 entity framework 连接到数据库并拥有自己的 DbContext class,您可能可以在 IdentityModel.cs
中找到它,其名称为 ApplicationDbContext
,它使用代码优先方法创建与 ASP.NET Identity 相关的表,您可以通过向 ApplicationUser 添加属性来扩展属性。如果你想改变它的 ConnectionString
你可以通过将你的 connectionString 添加到它的基础开始,如下所示:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("YourConnectionString", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}