LocalDB简介和在VS2012及以上版本的使用

之前一不小心把自己电脑上的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模式。

第一步:创建一个控制台应用程序:

image

第二步:使用NuGet添加对Entity Framework的引用:

image

第三步:创建实体和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();
复制代码

运行调试:

image

在本地磁盘E的根目录下会出现以下文件:

image

在VS中的SQL Server对象浏览窗口也可以看到:

image

总结

LocalDB相比SQL Server要轻量很多,虽说提供的功能不是很多但对于很多开发和测试人员来说足够了。使用起来也是极其方便的,只需要修改一下连接字符串,我们的程序该怎么写还是怎么写就行了。

参考链接:http://www.csdn.net/article/2012-03-29/313675

SQL Server Express是Microsoft SQL Server的免费版本,适用于开发人员和小型应用程序。它提供了一种轻量级的数据库管理系统,并具备一些限制和特定的用途。以下是一些常见版本的说明: 1. SQL Server Express 2005:这是第一个版本SQL Server Express,它基于SQL Server 2005。它支持最多4个处理器和1GB的内存,并限制每个数据库的最大大小为4GB。 2. SQL Server Express 2008:这个版本基于SQL Server 2008,引入了一些新功能和改进。它支持最多4个处理器和1GB的内存,并将每个数据库的最大大小限制为10GB。 3. SQL Server Express 2012:这个版本基于SQL Server 2012,带来了更多的改进和性能优化。它支持最多4个处理器和1GB的内存,并将每个数据库的最大大小限制为10GB。 4. SQL Server Express 2014:这个版本基于SQL Server 2014,继续提供了一些新功能和改进。它支持最多4个处理器和1GB的内存,并将每个数据库的最大大小限制为10GB。 5. SQL Server Express 2016:这个版本基于SQL Server 2016,引入了一些新功能和改进。它支持最多4个处理器和1GB的内存,并将每个数据库的最大大小限制为10GB。 LocalDBSQL Server Express的一种特殊部署方式,它是一个轻量级的数据库引擎,适用于开发和测试环境。它的主要特点是易于安装和使用,不需要额外的配置和管理。LocalDB通常用于开发人员在本地机器上快速创建和测试数据库应用程序。它支持与其他版本SQL Server数据库引擎相同的T-SQL语法和功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值