【发布时间】:2020-04-04 15:08:30
【问题描述】:
所以我正在尝试创建一个使用 Identity 的 ASP.NET Core 3.1 MVC 应用程序,并且到目前为止运行良好。 我想向它添加一个 SQLite 数据库,这样我就可以使用 EF(EntityFramework)Code First 来存储用户等,这就是我所做的。
我首先使用 SQLite 创建了一个数据库文件,所以我将 Database.db 文件放在我桌面上的一个文件夹中。
然后我尝试查找有关如何实现它的文档,但是有很多文档,而且它们都非常不同,所以我无法确定实现它的正确方法。
我从设置上下文开始
public class UserContext : IdentityDbContext
{
public DbSet<User> Users { get; set; }
}
public class User : IdentityUser
{
public string CustomerID { get; set; }
public string SubscriptionID { get; set; }
public int IsActive { get; set; }
}
超级直接,然后我将 Startup.cs 中的 ConfigureServices 方法修改为 AddIdentity
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.AddIdentity<User, IdentityRole>().AddEntityFrameworkStores<UserContext>();
}
完美,现在我添加了身份。太好了。
这就是问题所在,我希望能够创建一个初始迁移以在我的 database.db 文件中创建一个表,但我不知道将 connectionString 放在哪里以及如何访问它。
我在一些论坛上看到我应该将它存储在 appsettings.json 中,但是由于它是我磁盘上的一个文件,connectionString 会是什么样子?
我不相信这会奏效
"ConnectionStrings": {
"sqlConnection": "Server=C:\\Users\\user\\Desktop\\user\\Database\\Database.db;Database=Blogging;Trusted_Connection=True;\\\""
}
或者说connectionString应该是这样的吗?
如何将 SQLite 数据库文件正确实施到我的项目中,以便我可以访问和创建我的第一个迁移?
我在创建database.db文件的时候也没有找到用密码创建的方法,这个可以改吗?
【问题讨论】:
标签: c# asp.net entity-framework .net-core asp.net-identity