開發環境
1. VS2010SP1
2. Microsoft SQL Server Compact 4.0
3. Visual Studio 2010 SP1 Tools for SQL Server Compact 4.0 因為SQL Server Compact 4.0是VS10之後才出來的
建立Sql Server Compact資料庫
1.通過 sql studio
資料庫檔案下拉框有建立compact資料庫選項
2. vs studio
vs添加新項中有建立資料compact 4.0 資料庫項
如何將sql compact 3.5升級到sql compact4.0
需要使用 Upgrade()方法
var fileName = @"G:\xxx\xxx.sdf";
var ssc = new System.Data.SqlServerCe.SqlCeEngine("Data Source=" + fileName);
ssc.Upgrade();
需要引用System.Data.SqlServerCe.dll 這個在sql compact4.0安裝路徑的Private檔案夾下
Entity Framework 串連sql compact4.0
需要Entity Framework 4.0 以上版本
連接字串
<connectionStrings>
<add name="xxx" connectionString="Data Source=Data/xxx.sdf;Persist Security Info=False;" providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>
添加Provider 配置
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.4.0" />
<add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
</DbProviderFactories>
</system.data>
由於對sql compact不瞭解 部署時遇到一些問題 錯誤可以參考沁姆大叔的微軟ASP.NET網站部署指南(12):Troubleshooting 文章
sql compact的正確配置方式如下:
拷貝 以下檔案到bin目錄下
1. V4.0 中 Desktop目錄下的 System.Data.SqlServerCe.dll和 其System.Data.SqlServerCe.Entity目錄下的System.Data.SqlServerCe.Entity.dll
2. v4.0中Private目錄下的x86下的所有檔案 或amd64下所有檔案 X86對應的是32位系統 amd64 對應的是64位系統
System.Data.SqlServerCe.dll .NET Compact Framework訪問的資料庫提供者。System.Data.SqlServerCe.Entity.dll 支援ADO.NET Entity Framework。
其它dll的含義 請參考 SQL Server Compact的DLL檔案介紹