LocalDB简介和在VS2012及以上版本的使用
来源:互联网 发布:吴鉴鹰单片机开发板 编辑:程序博客网 时间:2024/05/23 00:30
之前一不小心把自己电脑上的SQL Server弄换了,卸载之后没立即重装,于是乎研究了一下LocalDB,感觉还不错,特别是个人做开发或测试的时候,所以记录下来并分享给大家。OK,下面开始正题:
什么是LocalDB?
随着SQL Server 2012的发布,LocalDB跃入我们的视线,它可以被看做是SQL Server Express的轻量级版本。
LocalDB专门为开发人员创建,它非常易于安装,几乎无需管理,兼容T-SQL语言,编程接口与SQL Server Express别无二致。
有了LocalDB,开发人员就不需要在自己的笔记本上安装和维护一个庞大的SQL Server实例了。另外,LocalDB也适用于小型应用环境,开发人员可以将其用于小型生产环境或者嵌入式环境。
LocalDB的核心技术特性
- 兼容其它SQL Server版本,使用sqlservr.exe作为服务进程,使用相同的客户端访问接口(如ADO.NET、ODBC或PDO),兼容T-SQL编程语言。
- 在同一台计算机上不必安装多个LocalDB,不同的应用程序可以并行执行多个LocalDB进程,但所有的进程都是从同一个可执行文件(sqlservr.exe)启动的。
- LocalDB不会创建任何系统服务,LocalDB进程会根据需要自动启动、停止。应用程序只需连接“Data Source=(localdb)\v11.0”,LocalDB就会作为应用程序的子进程启动。随着连接的终止,LocalDB进程也会随之停止。
- LocalDB支持AttachDbFileName属性,允许开发者指定数据库文件位置。例如:
Data Source = (localdb)\v11.0; Integrated Security = true; AttachDbFileName = C:\MyData\Database1.mdf
在Visual Studio中使用LocalDB
使用LocalDB需要VS的版本在2012或以上。我这里演示将使用Entity Framework的Code first模式。
第一步:创建一个控制台应用程序:
第二步:使用NuGet添加对Entity Framework的引用:
第三步:创建实体和DbContext:
public class Product { public int ProductID { get; set; } public string Name { get; set; } public string Description { get; set; } public decimal Price { get; set; } public string Category { get; set; } } class EFDbContext : DbContext { public DbSet<Product> Products { get; set; } }
最后一步(也是最关键的):修改App.config配置文件中的连接字符串:
<connectionStrings > <add name="EFDbContext" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;Initial Catalog=SportsStore;Integrated Security=SSPI;AttachDBFilename=E:\SportsStore.mdf" /> </connectionStrings>
这里Data Source的值就是指定LocalDB的一个实例。在这个连接字符串中还有一个AttachDBFilename属性,这是用来指定数据库文件(包括.mdf以及日志文件)的路径,我这里放在E盘根目录下,如果没有指定,数据库就会创建到默认地址(C盘你的用户)下。其他属性相信大家都不陌生。
测试成果:在Program.cs的main函数中添加以下代码:
using (var context=new EFDbContext()) { context.Set<Product>().Add(new Product { Price = 1, Name = "p1", Category = "a", Description = "无" }); context.SaveChanges(); List<Product> products= context.Set<Product>().ToList(); foreach (Product p in products) { Console.WriteLine(p.ProductID +" "+p.Name +" "+p.Price); } } Console.ReadKey();
运行调试:
在本地磁盘E的根目录下会出现以下文件:
在VS中的SQL Server对象浏览窗口也可以看到:
总结
LocalDB相比SQL Server要轻量很多,虽说提供的功能不是很多但对于很多开发和测试人员来说足够了。使用起来也是极其方便的,只需要修改一下连接字符串,我们的程序该怎么写还是怎么写就行了。
参考链接:http://www.csdn.net/article/2012-03-29/313675
- LocalDB简介和在VS2012及以上版本的使用
- DirectX 在VS2012及以上版本的配置
- VS2012及以上版本制作安装程序
- VS2012及以上版本中,禁用_s版本函数的方法
- 2005及以上版本在操纵语句中使用output可以获取具体的影响信息
- 在DOCKER中构建使用RUBY2.1及以上版本的镜像
- 使用C++访问sqlserver express的轻量级版本localdb
- 在PHP5.3以上版本运行ecshop和ecmall出现的问题及解决方案
- 在PHP5.3以上版本运行ecshop和ecmall出现的问题及解决方案
- 在PHP5.3以上版本运行ecshop和ecmall出现的问题及解决方案
- 在PHP5.3以上版本运行ecshop和ecmall出现的问题及解决方案
- LocalDB的使用详解
- 关于x264 2011在VC2005及以上版本的编译
- SQL2008及以上版本在Window10的安装方法
- pageoffice在Edge浏览器、谷歌浏览器42及以上版本和火狐浏览器52及以上版本兼容处理
- 使用FastReport 3.0及以上版本创建动态报表的
- OpenCV 2.2.0及以上版本CvvImage的使用
- OpenCV 2.2.0及以上版本CvvImage的使用
- GDAL中新手常犯的error LNK2019: 无法解析的外部符号的错误
- vue.js 中的在v-for节点中嵌入 v-if 的解释
- ssh 删除文件夹 命令
- 操作系统概念(高等教育出版社,第七版)复习——第八章:内存管理
- 程序员的灭顶之灾
- LocalDB简介和在VS2012及以上版本的使用
- 开篇
- hadoop2.7.3在centos7上部署安装(单机版)
- 字符编码简介
- java发送http的get、post请求
- embedded dylibs/frameworks are only supported on iOS 8.0 and later (@rpath/XCTest.framework/XCTest
- UVa10763
- NAT技术与代理服务器
- VS2013+CMake+编译CMVS-PMVS时遇到的问题