2011-01-23 89 views
3

我在使用SQL Server CE 4.0的WebMatrix中創建了一個小型測試項目。不是使用嵌入式SQL的粉絲,我想爲由WebMatrix生成的SQL Server CE 4.0數據庫創建一些LINQ2SQL域類。不幸的是,SQLmetal抱怨數據庫文件已損壞或不兼容。SQL Server CE 4.0 w/SQLmetal

是否有與SQL Server CE 4.0兼容的SQLmetal.exe版本,並且可以獨立於Visual Studio進行下載?

在此先感謝。

回答

6

SQL金屬不適用於sqlce 4.0(我試過),你必須手工使用linq2entity或者編寫你的數據對象和POCOS。 或者等到下一個版本的visual studio可能。 我希望微軟仍然會支持sqlq4.0的linq2sql,因爲它很容易處理。

+0

這是一個該死的恥辱。謝謝(你的)信息。 – 2011-01-23 14:35:47

0

仍與Windows 8和由它的外觀爲SSCE 3.5的Visual Studio 2012的問題不是默認安裝在Windows 8

+0

我的SQL Server Compact Toolbox VS加載項(我是作者)將創建一個LINQ to SQL DataContext,即使是4.0版的數據庫文件也是如此。 – ErikEJ 2012-11-18 16:09:02

1
<system.data> 
    <DbProviderFactories> 
     <remove invariant="System.Data.SqlServerCe.3.5" /> 
     <add name="Microsoft SQL Server Compact Data Provider 4.0" 
      invariant="System.Data.SqlServerCe.3.5" 
      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> 

仍然有效,你需要這個簡單的黑客:

  1. 查找SqlMetal.exe可執行文件的路徑(從VS CMD:其中SQlMetal)
  2. 編輯SqlMetal.exe.config,添加或在 '配置' 更新 'system.data' 部分,覆蓋的SQL Server CE 3.5的DataProvider與4.0: