【问题标题】:Where is the Sqlite database saved for asp.net core MVC 2.2?为 asp.net core MVC 2.2 保存的 Sqlite 数据库在哪里?
【发布时间】:2019-05-22 05:22:06
【问题描述】:

我用

创建了一个 asp.net core mvc 2.2 应用程序
options.UseSqlite("Data Source=test.db")

重要提示:VS2017 必须以管理权限启动,否则无法创建数据库。是Asp.net core 2.2特有的,上一个没有这个问题。

问题

sqlite 数据库保存在哪里?我已经搜索过,但我什么也没找到。

注意:作为对比,Asp.net core 2.1 将 sqlite 数据库保存在项目文件夹中。

【问题讨论】:

  • C:\Program Files\IIS Express 默认情况下。
  • 如果您想知道为什么会出现这种情况以及如何解决该问题,请查看我的回答 here
  • 如果您查看我在之前评论中链接的答案,推荐的方法是将 CurrentDirectoryHelpers.SetCurrentDirectory(); 行添加到 Main 的开头,以便将 db 文件保存到首先是正确的位置。

标签: asp.net-core entity-framework-core asp.net-core-2.2


【解决方案1】:

轻松控制存储位置

var connString = Configuration.GetConnectionString("MyDB").Replace("~", _env.ContentRootPath);
services.AddDbContext<RemoteHealingTechContext>(options => options.UseSqlite(connString));

在构造函数中获取 _env

public Startup(IConfiguration configuration, IHostingEnvironment env)
{
    Configuration = configuration;
    _env = env;
}

然后你可以使用如下所示的连接字符串

"DataSource=~\\App_Data\\MyDB.db"

【讨论】:

    猜你喜欢
    • 2012-07-30
    • 2012-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多