EntityFramework6.X 之LocalDB&ConnectionString
LocalDB
面向开发人员的SQL Server Express的执行模式,它的安装将复制启动SQL Server数据库引擎所需的最少文件集且使用特定连接字符串来启动连接,它是可以创建和打开SQL Server数据库实例,数据库系统数据库文件存储在用户本地AppData路径中(如在VS2013以下版本win8路径是C:\Users\Terrence Sun\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances;而VS2015版本的Microsoft SQL server 2014下win10路径是C:\Users\VioletMoon\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB),通常路径是隐藏并且用户数据库文件存储于用户指定的位置
l 限制
1) 不能是合并复制订阅服务器
2) 不支持Filestream
3) 仅允许Service Broker的本地队列
l 自动实例和命名实例
1) 自动实例是公共的,系统自动为用户创建和管理此实例可由任何应用程序适用,自动实例具有属于保留命名空间的特殊实例名称模式,名称是以单个V字符后跟XX.X格式的LocalDB发行版本号,例如:V11.0表示SQL Server 2012
连接字符串: Server=(localdb)\v11.0; 连接到当前用户拥有的自动实例Integrated Security=true是获取访问数据库的安全权限,可以避免出现必须获取master权限的错误,若是要通过文件名来连接则为:Server=(LocalDB)\v11.0; Integrated Security=true ;AttachDbFileName=D:\Data\MyDB1.mdf;(温馨提示:在VS2015中采用的是SQLServer2014将采用MSSQLLocalDB,如:<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|DocumentManger.mdf;Initial Catalog=GZPost.DocumentManger;Integrated Security=True" providerName="System.Data.SqlClient" />)
2) 命名实例是专用的,由负责创建和管理该实例的单个应用程序所拥有,与其他实例隔离且通过减少与其他数据库用户的资源争用来提高性能。
3) 如何自定义创建LocalDB
当你安装了VS2015后,将会附带安装LocalDB且包含一系列LocalDB工具(通常在以下路径下C:\Program Files\Microsoft SQL Server\110\LocalDB\Binn,其中110目录代表SQLServer的版本发型号,100代表2008,110代表2012,120代表SQL2014,130代表SQL2016),其中有一个SqlLocalDB.exe工具,接下来通过该工具可以进行对LocalDB进行相应操作,前提工作运行CMD,运行命令cd C:\Program Files\Microsoft SQL Server\110\LocalDB\Binn从而进入该目录使用命令如下:
|
命令 |
描述 |
格式 |
|
Sqllocaldb.exe |
帮助命令,可以查看该工具相关命令参数 |
|
|
Info |
查看当前localdb的所有信息 |
Sqllocaldb.exe info |
|
Create |
创建新的localdb数据库,若是加上-s参数表示创建并启动 |
Sqllocaldb.exe create databasename |
|
Delete |
删除指定数据库名的localdb |
Sqllocaldb.exe delete databasename |
|
Start |
启动指定数据库名的localdb |
Sqllocaldb.exe start databasename |
|
Stop |
暂停指定数据库名的localdb |
Sqllocaldb.exe stop databasename |
示例
数据库连接字符串是程序连接数据服务的唯一有效连接参数设置,在ASP.NET5中存在多种方式进行配置:(优先级由高到低OnConfiguring=>Constructor Argument=>AddDBContext)
1) 在配置文件(appsetting.json)中配置字符串格式如下:
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\\mssqllocaldb;Database=aspnet5-WebApplication1-428e1d03-570a-4572-9f45-2ab2a6489fa0;Trusted_Connection=True;MultipleActiveResultSets=true"
}}
2) 在CS代码中进行配置连接字符串格式如下:
下面代码中分别列出了VS2015和VS2013中的连接字符串,实际应用只允许选择其中一个

ConnectionString
数据库连接字符参数详情如下:
|
参数名 |
描述 |
|
Data Source |
数据库源 |
|
AttachDbFileName |
连接数据库文件名和路径 |
|
Initial Catalog |
数据库名 |
|
Integrated Security |
是否安全连接 |
|
MultipleActiveResultSets |
是否多活动结果设置 |
|
User Instance |
用户实例 |
- LocalDB(本地数据库)字符串
<add name="ConnectionName" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDB)\mssqllocaldb.0;AttachDbFileName=|DataDirectory|\DatabaseFileName.mdf;InitialCatalog=DatabaseName;Intergrated Security=True;MultipleActiveResultSets=True"/>以前的版本v11.0
- SQL Server Express数据库连接字符串
默认连接:
<add name="ConnectionName" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True"/>
连接本地数据库文件:
<add name="ConnectionName" connectionString="Data Source=.\SQLEXPRESS;AttachDbFileName=|DataDirectory|\DatabaseFileName.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True"/>
- SQL Server 数据库连接字符串(完整的)
默认通过用户名和密码登陆:
<add name="ConnectionStringName" providerName="System.Data.SqlClient" connectionString="Data Source=ServerName;Initial Catalog=DatabaseName;Integrated Security=False;User Id=userid;Password=password;MultipleActiveResultSets=True" />
使用window账户登陆:
<add name="ConnectionStringName" providerName="System.Data.SqlClient" connectionString="Data Source=ServerName\InstanceName;Initial Catalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True" />
- Window Azure SQL数据库连接字符串
<add name="ConnectionName" providerName="System.Data.SqlClient" connectionString="Data Source=tcp:ServerName.database.windows.net,1433;Initial Catalog=DatabaseName;Integrated Security=False;User Id=username@servername;Password=password;Encrypt=True;TrustServerCertificate=False;MultipleActiveResultSets=True"/>
- Entity Framework数据库连接字符串
<add name="ConnectionStringName" providerName="System.Data.EntityClient" connectionString="metadata=res://*/ ContextClass.csdl|res://*/ ContextClass.ssdl|res://*/ ContextClass.msl;provider=System.Data.SqlClient;provider connection string="Data Source=ServerName;Integrated Security=False;User Id=userid;Password=password;MultipleActiveResultSets=True"" />
- SQL Server Compact数据库连接字符串
<add name ="ConnectionStringName" providerName="System.Data.SqlServerCe.4.0" connectionString="Data Source=|DataDirectory|\DatabaseFileName.sdf"/>
EntityFramework6.X 之LocalDB&ConnectionString的更多相关文章
- Entity Framework 学习笔记(1)
开始从头系统地学习Entity Framework,当前的稳定版本为6.1.3,Nuget主页 http://www.nuget.org/packages/EntityFramework/ 微软喜欢把 ...
- C# SQLite数据库
在客户端配置文件<configuration>节点下,添加: <connectionStrings> <add name="localdb" conn ...
- ASP.NET Core 中文文档 第二章 指南(4.5)使用 SQL Server LocalDB
原文:Working with SQL Server LocalDB 作者:Rick Anderson 翻译: 魏美娟(初见) 校对: 孟帅洋(书缘).张硕(Apple).许登洋(Seay) Appl ...
- Entity Framework 6连接Postgresql、SQLite、LocalDB的注意事项和配置文件
Postgresql Postgresql支持Code First的方式自动生成表,不过默认的模式是dbo而不是public,而且还可以自动生成自增主键. <?xml version=" ...
- ASP.NET MVC 5 - 创建连接字符串(Connection String)并使用SQL Server LocalDB
您创建的MovieDBContext类负责处理连接到数据库,并将Movie对象映射到数据库记录的任务中.你可能会问一个问题,如何指定它将连接到数据库? 实际上,确实没有指定要使用的数据库,Entity ...
- 运行第一个abp项目VS2015+localDB
ASP.NET Boilerplate,简称ABP 详细深入:可以参考如下文章 http://www.cnblogs.com/mienreal/p/4528470.html http://www.cn ...
- localdb
<connectionStrings> - <add name="default" connectionString="Data Source=.; I ...
- 在Vs2012 中使用SQL Server 2012 Express LocalDB打开Sqlserver2012数据库
http://www.cnblogs.com/huangtailang/p/4221164.html 背景:个人电脑中使用的是VS2012,数据库为2008R2,最近需要打开一个SqlServer20 ...
- LocalDB简介和在VS2012及以上版本的使用
http://www.cnblogs.com/fzrain/p/3812364.html?utm_source=tuicool LocalDB简介和在VS2012及以上版本的使用 之前一不小心把自 ...
随机推荐
- 老李推荐:第6章6节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-命令队列
老李推荐:第6章6节<MonkeyRunner源码剖析>Monkey原理分析-事件源-事件源概览-命令队列 事件源在获得字串命令并把它翻译成对应的MonkeyEvent事件后,会把这些 ...
- EasyUi基础学习(一)—基本组件(上)
一.概述 jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面.开发者不需要编写复 ...
- mysql 分析3使用分析sql 性能 show profiles ;
show variables like '%profiling%'; 查看状态 查看时间去哪了``` set profiling=1;// 打开 show profiles; 查看执行过的 ...
- Git版本管理荟萃
用惯了svn,突然转到git难免有点不适,写个笔记好好备忘总结一番. 一.先看历史(imooc上的一个图): 二.git与svn GIT跟SVN一样有自己的集中式版本库或服务器.但,GIT更倾向于被使 ...
- CTF 字符统计2
题目地址:http://sec.hdu.edu.cn/question/web/1076/ 这一题跟上一篇那题有点相似,查看一下源代码: 发现字符产所处的HTML标签变了,还有就是上一题是get请求, ...
- GreenDao与Rx的完美搭配
作为Android开发者,一定不会对 GreenDao 和 ReactiveX 陌生. GreenDao 号称Android最快的关系型数据库 ReactiveX Rx是一个编程模型,目标是 ...
- GitHub上非常受开发者欢迎的iOS开源项目(二)
"每一次的改变总意味着新的开始."这句话用在iOS上可谓是再合适不过的了.GitHub上的iOS开源项目数不胜数,iOS每一次的改变,总会引发iOS开源项目的演变,从iOS 1.x ...
- Android 性能优化——之图片的优化
Android 性能优化——之图片的优化 在Android性能优化中,我们会发现占内存最大的和对性能影响最大的往往是图片资源,其次是控件资源.相对来说,其他的资源的影响会小一点.这里我就先对图片资源的 ...
- java Http消息传递之POST和GET两种方法--通过实用工具类来获取服务器资源
实现该方法需要导入一些jar包 可以去一下地址下载: http://pan.baidu.com/s/1hqrJF7m /** * 实用工具类来获取服务器资源 * * get方法传送数据 * * 1.通 ...
- 利用Scrapy爬取所有知乎用户详细信息并存至MongoDB
欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者 :崔庆才 本节分享一下爬取知乎用户所有用户信息的 Scrapy 爬虫实战. 本节目标 本节要实现的内容有 ...