接上一篇Linux系统下创建dotnet项目,这一篇我们聊聊.NET6环境下dotnet项目连接数据库的方式方法,包括数据库字符串该如何配置。看了很多博主写的文章,连接数据库字符串配置的方式和位置五花八门,这篇文章给大家介绍一下连接数据库字符串的配置方式方法,顺便介绍下一个新创建的dotnet项目的各个模块的作用。
(资料图片)
各模块作用① Properties -- launchSettings.json
launchSettings.json文件是 ASP.NET Core 应用特有的配置标准,用于应用的启动准备工作,包括环境变量,开发端口等。在launchSettings.json文件中进行配置和右键项目--【属性】--【调试】中所提交的更改的效果是一样的,并且支持同步更新。②依赖项
依赖项组织了项目开发与运行时所需的DLL,分布在不同的类别下:包、分析器、框架、项目。③ Controllers
Controllers 目录用于存放MVC编程框架下的控制器类文件。④ appsettings.json
appsettings.json 是 ASP.NET Core 默认提供的系统配置文件。与 ASP.NET WeForm、ASP.NET MVC 中的 web.config 文件功能类似。
ASP.NET Core 支持利用环境变量来动态配置 JSON 文件。ASP.NET Core 引用了一个特定的环境变量 ASPNETCORE_ENVIRONMENT 来描述应用程序当前运行的环境。这个变量可以被设置为任何你喜欢的值,但是有三个值被约定使用: Development,Staging 和 Production。⑤Program.cs
Program.cs 是 Asp.Net Core 的入口文件。它负责创建、配置和运行泛型主机(Host),ASP.NET Core应用程序需要在泛型主机中执行。补充说明:有的同学创建的项目里面没有Program.cs,但是有Startup文件,也是一样的,只是写法略有不同。
添加依赖添加依赖的命令是dotnet add package xxxx.xxx
//添加SqlServer依赖dotnet add package Microsoft.EntityFrameworkCore.SqlServer//添加MySQL依赖dotnet add package MySql.EntityFrameworkCor//添加Sqlite依赖dotnet add package Microsoft.Data.Sqlite.Core
连接数据库字符串到底该写在哪里通过对各个模块作用的介绍,我们知道连接数据库的字符串肯定是写在appsettings.json文件里面,有的人把连接数据库字符串写在上下文类文件中,或者写在Program.cs文件中,也不是不可以,不过不是规范的写法。举个例子,当你的项目发布部署以后,要求更改新的数据库服务地址,怎么办?我们都知道.NET项目编译以后,所有.cs文件都会被编译为DLL文件,想修改里面的内容就需要重新编译,也就是说之前发布好的项目是不能用了,但是.json文件没有编译。如果你的连接数据库字符串写在Program.cs文件中,那么只能重新编译发布。如果连接数据库字符串写在了appsettings.json中,则只需要修改appsettings.json文件即可。现在知道连接数据库字符串到底该写在哪里了吧。以上都是不规范的写法。
几种数据库的配置方法下面逐一介绍MySQL、SQL server、sqlite数据的连接方式
MySQLappsettings.json中添加下面内容,其中MySqlDataBase可以自己定义,见名识意就好哦。后面的内容根据自己的实际情况修改就好。
"ConnectionStrings": { "MySqlDataBase": "Server=127.0.0.1;Port=3306;User Id=xxx;Password=xxx;Database=xxx" }
Program.cs文件中添加如下内容。其中"MySqlDataBase"为appsettings.json中定义的名字。MynetContext为你数据上下文类名。
builder.Services.AddDbContext( options => { options.UseMySql(builder.Configuration.GetConnectionString("MySqlDataBase"), new MySqlServerVersion(new Version(8, 0, 31))); });
SQL serverappsettings.json中添加下面内容,其中"MVCSqlContext"可以自己定义,见名识意就好哦。后面的内容根据自己的实际情况修改就好。
"ConnectionStrings": { "MVCSqlContext": "Server=localhost;Database=InfoUser;User ID=sa;Password=sa;" }
Program.cs文件中添加如下内容。其中"MVCSqlContext"为appsettings.json中定义的名字。MynetContext为你数据上下文类名。
builder.Services.AddDbContext( options => { options.UseSqlServer(builder.Configuration.GetConnectionString("MVCSqlContext")); });
SQLiteappsettings.json中添加下面内容,其中"DefaultConnection"可以自己定义,见名识意就好哦。后面的内容根据自己的实际情况修改就好。
"ConnectionStrings": { "DefaultConnection": "DataSource=app.db;Cache=Shared" }
Program.cs文件中添加如下内容。其中"DefaultConnection"为appsettings.json中定义的名字。MynetContext为你数据上下文类名。
builder.Services.AddDbContext( options => { options.UseSqlite(builder.Configuration.GetConnectionString("DefaultConnection")); });
补充:为防止有人不知道在Startup文件怎么写,这里给一个示例:
public void ConfigureServices(IServiceCollection services) { services.AddRazorPages(); services.AddDbContext(options => options.UseSqlite(Configuration.GetConnectionString("DefaultConnection"))); }
注:下一篇将创建实体类,通过EFCore方式自动生成数据库。
标签:
上一篇:焦点观察:4月主要运营指标大幅提升 航空板块机会如何?
下一篇:最后一页
凡本网注明“XXX(非现代青年网)提供”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和其真实性负责。
原标题:中国文溯阁《四库全书》原大原样影印精选版面世中新社兰州5月15日电(闫姣九美旦增)15日,中国文
2023-05-16 11:37
原标题:“玉楮流芳”展今起向公众免费开放,多部“国宝”级珍品或孤本亮相(引题)宋元古籍首展,上博亮出
2023-05-16 10:35
原标题:当明星演员陆续登上舞台之后——(引题)“流量”让话剧变得更好了吗?(主题)文汇报记者王筱丽“
2023-05-16 10:33
原标题:汪曾祺的旅美心史最近重读汪曾祺先生的书信集《飞鸿传书寄真情》(译林出版社2021年),他从1987年8月
2023-05-16 10:44
原标题:博物馆赋能美好生活故宫博物院“何以中国”展览人气火爆,引发热议;甘肃省博物馆铜奔马毛绒玩具网
2023-05-16 09:36
原标题:《最后的真相》定档8·18黄晓明首演“废柴”律师北京青年报记者肖扬昨日,由黄晓明监制,李太阁执
2023-05-16 09:47
原标题:刘若英:说好的“下次见”让你们等了三年北京青年报记者寿鹏寰暌违七年,刘若英“飞行日巡回演唱会
2023-05-16 09:38
原标题:《乘风2023》:徐怀钰被指“划水”,冤吗?于理《乘风2023》做到第四季了,固然人们多少担忧这个IP
2023-05-16 08:46
原标题:“观”和“演”成就鲜活的艺术生命(主题)──访青春版《牡丹亭》柳梦梅的扮演者俞玖林(副题)天
2023-05-16 08:52
原标题:拉动夜间经济促进文旅消费带动周边市场(引题)北京演唱会市场强劲复苏(主题)北京日报记者韩轩5
2023-05-16 08:42
原标题:10年来组织上千场公益阅读活动,江西赣州章贡区阅读推广人李刚——(引题)“一本书,就是一颗种子
2023-05-16 08:45
原标题:AI歌手刷屏或涉多项侵权(主题)生成式人工智能亟待规范(副题)北京日报记者袁璐继绘画、文案之后
2023-05-16 08:53
原标题:澳门特区第六届“全民国家安全教育展”闭幕新华社澳门5月15日电(记者李寒芳刘刚)为期一个月的澳
2023-05-16 07:33
原标题:“走读江岸”传承城市文脉5月13日,湖北武汉江岸区,志愿者正在为游客讲解石库门建筑群——咸安坊
2023-05-16 07:45
原标题:惹众怒!演员被无限期停止工作,钧正平发声澎湃新闻综合报道5月13日,有网友发文称,笑果北京脱口
2023-05-16 07:56
原标题:笑果文化致歉:无限期停止!5月15日下午,笑果文化官方社交媒体平台发布声明称,已无限期停止脱口
2023-05-16 07:36
原标题:这名演员,无限期停演!相关公司被立案调查!近日,有网友发文称笑果北京脱口秀专场中,演员的段子
2023-05-16 07:47
原标题:上海博物馆藏宋元古籍展开幕在即多件“国宝”级珍品或孤本亮相“玉楮流芳——上海博物馆藏宋元古籍
2023-05-16 05:34
原标题:《北京2022》群像海报发布致敬每一位冬奥人工人日报客户端5月15日讯(记者陈俊宇朱亚男)5月15日,
2023-05-16 05:55
原标题:北京国际光影艺术季今晚开启北京晚报讯(记者李洋)今晚入夜后,玉渊潭公园的樱珞花谷将奇幻变身成
2023-05-15 22:49
原标题: 安徽芜湖:打造消费新阵地焕发古城新活力中国文化报实习记者彭澳丽大学生电竞联赛、二次元宅舞舞
2023-05-15 16:38
原标题:邂逅多彩大明人民日报海外版记者王晶玥从1368年明太祖朱元璋称帝至1572年,明朝走过204个年头,历
2023-05-15 16:41
原标题:《速度与激情10》罗马首映(引题)查理兹·塞隆美艳现身(主题)羊城晚报记者李丽《速度与激情10》
2023-05-15 16:52
原标题:江苏:非遗为旅游增添了地域文化底色中国文化报记者张婧近年来,江苏创新开展“无限定空间非遗进景
2023-05-15 16:41
原标题:宁夏:“星星的故乡”从“网红”到“长红”中国文化报记者刘海红2021年,宁夏回族自治区文化和旅游
2023-05-15 16:34