zoukankan      html  css  js  c++  java
  • LocalDB简介和在VS2012及以上版本的使用

    http://www.cnblogs.com/fzrain/p/3812364.html?utm_source=tuicool

    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:MyDataDatabase1.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

      http://www.cnblogs.com/zhangran/archive/2012/08/26/2657864.html

  • 相关阅读:
    eslint 的 env 配置是干嘛使的?
    cookie httpOnly 打勾
    如何定制 antd 的样式(theme)
    剑指 Offer 66. 构建乘积数组
    剑指 Offer 65. 不用加减乘除做加法
    剑指 Offer 62. 圆圈中最后剩下的数字
    剑指 Offer 61. 扑克牌中的顺子
    剑指 Offer 59
    剑指 Offer 58
    剑指 Offer 58
  • 原文地址:https://www.cnblogs.com/zkwarrior/p/4824351.html
Copyright © 2011-2022 走看看