[C#]SQL Server Express LocalDb(SqlLocalDb)的一些体会
真觉得自己的知识面还是比较窄,在此之前,居然还不知道sqllocaldb。
sqllocaldb是啥?其实就是简化sql server的本地数据库,可以这样子说,sql server既可以作为远程,也可以做本地,
而sqllocaldb只能作为本地使用。说的直接一点,sqllocaldb就是一个轻量级的基于本地的t-sql数据库,全称:sql server express localdb。
好,废话不多说。
第一,怎么安装这个sqllocaldb?
1)如果安装过visual studio 2015、2017,一般已经安装到了电脑里。
这里以visual studio 2017为例,在visual studio installer中的单个组件页面中,可以看到该组件已经被安装(红色框框部分):
2)或者到visual studio 2017安装包安装该组件:
64位:
32位:
3)到sql server下载中心下载sql server express:https://download.microsoft.com/download/5/e/9/5e9b18cc-8fd5-467e-b5bf-bade39c51f73/sqlserver2017-ssei-expr.exe
下载之后,打开该引用,并点击“下载介质”:
在弹出的页面中,选择localdb(第三个),点击下一步下载sqllocaldb.msi
注:sql server 2016 express localdb微软已经不再提供,目前为最新的,也就是以上的2017版本。
4)百度网盘下载:https://pan.baidu.com/s/12ukj7iee_45p0choi4b39w
根据系统类型安装不同的sqllocaldb。
第二、连接sqllocaldb
1、打开visual studio 2017,依次点击“视图”(菜单栏)->“服务器资源管理器”,将会打开“服务器资源管理器”窗口:
2、右键点击“数据连接”,在弹出的上下文菜单中选择“添加连接”,在弹出的窗口中将“服务器名”设置为(localdb)\mssqllocaldb,如下图所示:
然后附加一个名称为musicdbcontext.mdf的数据库文件(文件可以自己定义)并点击确定,此时,musicdbcontext.数据库作为默认的数据库,我们可以选择sqllocaldb中的其他已有数据库。
生成的连接字符串如下:
data source=(localdb)\mssqllocaldb;attachdbfilename=c:\users\cnc\desktop\musicdbcontext.mdf;initial catalog=musicdbcontext;integrated security=true
我们可以将mdf文件的路径改为相对路径:
data source=(localdb)\mssqllocaldb;attachdbfilename=|datadirectory|\musicdbcontext.mdf;initial catalog=musicdbcontext;integrated security=true
第三,编写程序对已有数据的读取
如下代码所示:
using system; using system.data; using system.data.sqlclient; using system.linq; namespace consoleapp { class program { static void main(string[] args) { string connectionstring = @"data source=(localdb)\mssqllocaldb;initial catalog=musicdbcontext;integrated security=true"; sqlconnection connection = new sqlconnection(connectionstring); sqldataadapter adapter = new sqldataadapter("select * from musics",connection); datatable table = new datatable(); adapter.fill(table); var result = (from row in table.rows.cast<datarow>() select new { id = (int)row[0], title = (string)row[1], releasedate = (datetime)row[2] }); result.tolist().foreach(x => console.writeline($"{x.id},{x.title},{x.releasedate}")); } } }
运行结果如下:
注:musicdbcontext.mdf可以在百度网盘下载,地址:https://pan.baidu.com/s/1zgkplcetto-xmneh3-8foq
第四、一些关于sqllocaldb的参考资料