分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

ASP.NET Core 2.2 附加的数据文件存放在项目文件夹内

发布时间:2023-09-06 02:33责任编辑:蔡小小关键词:.NET

在ASP.NET 4.x中(包括ASP.NET MVC 5),可以通过附加数据库文件文件的方式,将数据库保存在项目的文件中。这种方式对于不同时段需要更换计算机(白天办公室,晚上家里)开发时带来好处。

而.NET Core版本(包括 ASP.NET Core MVC )数据库是默认保存在c:/users/{currentusername}中。

1、ASP.NET 4.x本来就存在着App_Data的系统文件夹,用来存放数据库文件。

数据库连接字符串中的|DataDirectory| 表示了App_Data文件。典型的连接字符串为:

 <add name="TeachingMaterialDbContext" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\TeachingMaterial.mdf;Initial Catalog=TeachingMaterial;Integrated Security=True" providerName="System.Data.SqlClient" />

ASP.NET 4.X中的webconfig.config文件中, 数据库连接连接字符串中的    \ 符号已自动转义,不需要额外的双斜杠\\

2、ASP.NET Core程序,我们一般将数据库连接字符串保存在 appsettings.json文件中。典型的连接字符串为:

"ConnectionStrings": {
"MVCMovieContext": "Server=(localdb)\\mssqllocaldb;Database=MVCMovieContext-ServerSyntax;Trusted_Connection=True;MultipleActiveResultSets=true",
?}

ASP.NET Core MVC中的appsetting.json文件中, 数据库连接连接字符串中的    \ 符号没有自动转义,出现\需要双斜杠\\来转义。

可以将appsetting.json文件中连接字符串改为 Data Source, Initial Catalog双单词表示的形式,如

"ConnectionStrings": {
"MVCMovieContext": "Data Source=(LocalDb)\\MSSQLLocalDB;Initial Catalog=MVCMovieContext-DataSourceSyntax1;Trusted_Connection=True;MultipleActiveResultSets=true"
}

但以上2种方法都只能将数据库保存本地计算机上的c:\user\{currentusername}目录下,如果需要换台计算机继续来开发ASP.NET Core,需要拷贝2次,且程序与数据库不在同一个目录下,拷贝显得麻烦。能不能实现像ASP.NET MVC开发一样,将数据库就保存在应用程序所在的项目中呢?

肯定数据库连接字符串需要使用到附加 AttachDbFileName,但由于ASP.NET Core不将 |DataDirectory|作为默认系统文件。因此,不能直接使用 如AttachDbFilename=|DataDirectory|\TeachingMaterial.mdf;,况且默认的项目模板没有App_Data文件夹。

ASP.NET Core 2.2 附加的数据文件存放在项目文件夹内

原文地址:https://www.cnblogs.com/liuyuanhao/p/10439175.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved