【发布时间】:2011-12-24 05:24:38
【问题描述】:
在 Windows Phone 7 上更新 SQL Server CE 中的表时遇到问题。当我调用提交更改时,应用程序将关闭而没有任何异常或错误。 Visual Studio 甚至仍在运行。
删除rowversion 列解决了这个问题。我环顾四周,不确定我是否遗漏了什么,但在使用 rowversion 列时有什么特别需要做的吗?
这里是列的属性。试图弄清楚这一点时,我创建了一个简单的表格。它有 3 列:
-
Id(指导) -
TestColumn(nvarchar100) -
MyRowVersion(行版本)
代码:
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MyRowVersion", AutoSync=AutoSync.Always, DbType="rowversion", CanBeNull=true, IsDbGenerated=true, IsVersion=true, UpdateCheck=UpdateCheck.Never)]
【问题讨论】:
-
我无法使用可为空的 rowversion 列进行复制,你能分享你的创建表脚本吗?
-
感谢 Erik,尝试在单独的解决方案中重新创建 rowversion 正在工作。我试图弄清楚为什么它在其他解决方案中不起作用。
-
我阅读了您的新文章,然后将 rowversion 添加回我的数据库,但我仍然可以使用 db.SubmitChanges() 进行简单更新使其崩溃。我可以让它在测试应用程序中工作。我想知道它是否与在异步 ctp 的后台任务中运行的进程有关,奇怪。
-
假设您使用工具箱生成数据上下文,如果您的索引覆盖了导致崩溃的主键,则会出现错误。尝试使用最新的 Toolbox 插件(版本 2.6.2)重新生成 DataContext,并告诉我它是否有效。
-
是的,我正在使用工具箱来生成上下文。当我回来时,我会检查并尝试这个并让你知道。谢谢。
标签: linq-to-sql windows-phone-7 sql-server-ce