之前一不小心把自己電腦上的SQL Server弄換了,卸載之后沒立即重裝,于是乎研究了一下LocalDB,感覺還不錯,特別是個人做開發或測試的時候,所以記錄下來并分享給大家。OK,下面開始正題:
什么是LocalDB?隨著SQL Server 2012的發布,LocalDB躍入我們的視線,它可以被看做是SQL Server ExPRess的輕量級版本。
LocalDB專門為開發人員創建,它非常易于安裝,幾乎無需管理,兼容T-SQL語言,編程接口與SQL Server Express別無二致。
有了LocalDB,開發人員就不需要在自己的筆記本上安裝和維護一個龐大的SQL Server實例了。另外,LocalDB也適用于小型應用環境,開發人員可以將其用于小型生產環境或者嵌入式環境。
LocalDB的核心技術特性Data Source = (localdb)/v11.0; Integrated Security = true; AttachDbFileName = C:/MyData/Database1.mdf
使用LocalDB需要VS的版本在2012或以上。我這里演示將使用Entity Framework的Code first模式。
第一步:創建一個控制臺應用程序: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
http://www.cnblogs.com/zhangran/archive/2012/08/26/2657864.html
新聞熱點
疑難解答