2011-12-24 147 views
0

當在Windows Phone 7上更新SQL Server CE中的表時遇到問題。當我調用提交更改時,應用程序將關閉,沒有任何異常或錯誤。 Visual Studio甚至還在運行。Windows Phone 7 SQL Server CE rowversion

刪除rowversion列解決了問題。我環顧四周,並不確定我是否缺少某些東西,但在使用rowversion列時是否還有其他特殊需要?

以下是列的屬性。試圖解決這個問題時,我創建了一個簡單的表格。它有3列:

  • Id(GUID)
  • TestColumn(nvarchar100)
  • MyRowVersion(rowversion)

代碼:

[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MyRowVersion", AutoSync=AutoSync.Always, DbType="rowversion", CanBeNull=true, IsDbGenerated=true, IsVersion=true, UpdateCheck=UpdateCheck.Never)] 
+0

我不能repro與可爲空的rowversion列,你可以分享你的創建表腳本? – ErikEJ 2011-12-27 08:36:24

+0

謝謝Erik,在嘗試在單獨的解決方案中重新創建rowversion正在工作。我試圖弄清楚爲什麼它不能在另一個解決方案中工作。 – 2011-12-28 03:27:58

+0

我讀了你的新文章,並添加了一個rowversion回到我的數據庫,我仍然可以使用db.SubmitChanges()進行簡單的更新。我可以在測試應用程序中使用它。我不知道它是否與在async ctp的後臺任務中運行的進程有關,這很奇怪。 – 2012-02-22 07:21:40

回答

1

假設你生成DataContext的SQL Server Compact Toolbox,如果你有索引,就有一個bug它覆蓋與主鍵相同的列,導致崩潰。嘗試使用最新的Toolbox插件(版本2.6.2或更高版本)重新生成DataContext。解決該問題的方法是刪除「重複」索引。