国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

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

2024-07-21 02:49:51
字體:
供稿:網(wǎng)友
LocalDB簡介和在VS2012及以上版本的使用

之前一不小心把自己電腦上的SQL Server弄換了,卸載之后沒立即重裝,于是乎研究了一下LocalDB,感覺還不錯,特別是個人做開發(fā)或測試的時候,所以記錄下來并分享給大家。OK,下面開始正題:

什么是LocalDB?

隨著SQL Server 2012的發(fā)布,LocalDB躍入我們的視線,它可以被看做是SQL Server ExPRess的輕量級版本。

LocalDB專門為開發(fā)人員創(chuàng)建,它非常易于安裝,幾乎無需管理,兼容T-SQL語言,編程接口與SQL Server Express別無二致。

有了LocalDB,開發(fā)人員就不需要在自己的筆記本上安裝和維護一個龐大的SQL Server實例了。另外,LocalDB也適用于小型應用環(huán)境,開發(fā)人員可以將其用于小型生產(chǎn)環(huán)境或者嵌入式環(huán)境。

LocalDB的核心技術特性
  • 兼容其它SQL Server版本,使用sqlservr.exe作為服務進程,使用相同的客戶端訪問接口(如ADO.NET、ODBC或PDO),兼容T-SQL編程語言。
  • 在同一臺計算機上不必安裝多個LocalDB,不同的應用程序可以并行執(zhí)行多個LocalDB進程,但所有的進程都是從同一個可執(zhí)行文件(sqlservr.exe)啟動的。
  • LocalDB不會創(chuàng)建任何系統(tǒng)服務,LocalDB進程會根據(jù)需要自動啟動、停止。應用程序只需連接“Data Source=(localdb)/v11.0”,LocalDB就會作為應用程序的子進程啟動。隨著連接的終止,LocalDB進程也會隨之停止。
  • LocalDB支持AttachDbFileName屬性,允許開發(fā)者指定數(shù)據(jù)庫文件位置。例如:
    Data Source = (localdb)/v11.0;  Integrated Security = true;  AttachDbFileName = C:/MyData/Database1.mdf
在Visual Studio中使用LocalDB

使用LocalDB需要VS的版本在2012或以上。我這里演示將使用Entity Framework的Code first模式。

第一步:創(chuàng)建一個控制臺應用程序:

image

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

image

第三步:創(chuàng)建實體和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屬性,這是用來指定數(shù)據(jù)庫文件(包括.mdf以及日志文件)的路徑,我這里放在E盤根目錄下,如果沒有指定,數(shù)據(jù)庫就會創(chuàng)建到默認地址(C盤你的用戶)下。其他屬性相信大家都不陌生。

測試成果:在Program.cs的main函數(shù)中添加以下代碼:
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();

運行調(diào)試:

image

在本地磁盤E的根目錄下會出現(xiàn)以下文件:

image

在VS中的SQL Server對象瀏覽窗口也可以看到:

image

總結

LocalDB相比SQL Server要輕量很多,雖說提供的功能不是很多但對于很多開發(fā)和測試人員來說足夠了。使用起來也是極其方便的,只需要修改一下連接字符串,我們的程序該怎么寫還是怎么寫就行了。

參考鏈接:http://www.csdn.net/article/2012-03-29/313675

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


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 肃南| 克什克腾旗| 乌鲁木齐县| 石台县| 平度市| 葫芦岛市| 宁远县| 乌兰浩特市| 湖口县| 遂川县| 汉中市| 大埔县| 合作市| 乌兰浩特市| 康平县| 洛宁县| 台湾省| 德格县| 长阳| 日照市| 唐河县| 盐边县| 凉城县| 永顺县| 英德市| 太保市| 陆河县| 河源市| 南汇区| 长岭县| 黄石市| 黑水县| 常熟市| 藁城市| 邢台市| 洮南市| 治多县| 贵州省| 海原县| 澄城县| 定兴县|