You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Visual Studio的ASP.NET MVC项目中添加SQLite并设为默认?

没问题,我来一步步帮你解决这两个问题:

给现有Visual Studio ASP.NET MVC项目添加SQLite数据库

如果你已经有一个在Visual Studio里创建的MVC项目,想要添加SQLite数据库,按以下步骤操作:

  • 安装SQLite相关NuGet包
    右键你的项目 → 选择「管理NuGet程序包」,在浏览页搜索并安装这两个包:

    • Microsoft.EntityFrameworkCore.Sqlite
    • Microsoft.EntityFrameworkCore.Tools(用来执行数据库迁移命令)
      或者直接在「包管理器控制台」里跑命令:
    Install-Package Microsoft.EntityFrameworkCore.Sqlite
    Install-Package Microsoft.EntityFrameworkCore.Tools
    
  • 修改连接字符串
    打开项目根目录的appsettings.json,找到ConnectionStrings节点,替换成SQLite的连接配置:

    "ConnectionStrings": {
      "DefaultConnection": "Data Source=app.db"
    }
    
  • 配置DbContext使用SQLite
    找到项目里的ApplicationDbContext类(或者你自定义的DbContext),修改它的配置:

    • 如果是.NET 5及更早版本,在Startup.csConfigureServices方法里更新:
      services.AddDbContext<ApplicationDbContext>(options =>
          options.UseSqlite(Configuration.GetConnectionString("DefaultConnection")));
      
    • 如果是.NET 6+的项目,在Program.cs里修改服务注册:
      builder.Services.AddDbContext<ApplicationDbContext>(options =>
          options.UseSqlite(builder.Configuration.GetConnectionString("DefaultConnection")));
      
  • 生成并应用数据库迁移
    打开「包管理器控制台」,依次执行以下命令:

    Add-Migration InitialCreate
    Update-Database
    

    执行完成后,你的项目根目录就会生成app.db文件了。

将SQLite设为Visual Studio创建MVC项目的默认配置

Visual Studio默认的MVC模板并没有直接提供切换SQLite为默认的选项,但可以通过两种方式实现:

  • 方式一:自定义项目模板

    1. 先通过dotnet CLI创建一个带SQLite的MVC项目作为模板基础:
      dotnet new mvc --auth Individual -o MySqliteMvcTemplate
      
    2. 打开Visual Studio,点击「文件→新建→项目」,然后选择「导入模板」,把刚才创建的MySqliteMvcTemplate项目导入为自定义模板。之后创建新项目时,选择这个自定义模板就能默认得到带SQLite配置的MVC项目。
  • 方式二:修改Visual Studio内置模板(进阶操作)
    注意:这个方法需要修改Visual Studio安装目录的文件,建议先备份,而且Visual Studio更新后可能会重置这些修改。

    1. 找到MVC模板的安装目录,路径大概是:C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\ProjectTemplates\CSharp\Web\1033\MvcWebApplicationProjectTemplate(根据你的VS版本和安装路径调整)
    2. 打开模板里的appsettings.json,替换ConnectionStrings为SQLite的配置;修改Startup.cs/Program.cs中的DbContext配置为使用SQLite;在模板的.csproj文件里添加Microsoft.EntityFrameworkCore.Sqlite的包引用。
    3. 保存修改后重启Visual Studio,之后新建MVC项目就会默认使用SQLite了。

内容的提问来源于stack exchange,提问作者Kaushal Kishore

火山引擎 最新活动