Windows Phone 7 SQL Server CE 行版本

Posted

技术标签:

【中文标题】Windows Phone 7 SQL Server CE 行版本【英文标题】:Windows Phone 7 SQL Server CE rowversion 【发布时间】: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,并告诉我它是否有效。 是的,我正在使用工具箱来生成上下文。当我回来时,我会检查并尝试这个并让你知道。谢谢。 【参考方案1】:

假设您使用 SQL Server Compact Toolbox 生成数据上下文,如果您的索引包含与主键相同的列,则会导致崩溃。尝试使用最新的 Toolbox 插件(版本 2.6.2 或更高版本)重新生成 DataContext。该问题的解决方法是删除“重复”索引。

【讨论】:

以上是关于Windows Phone 7 SQL Server CE 行版本的主要内容,如果未能解决你的问题,请参考以下文章

使用 WCF 将 SQL Azure 连接到 Windows Phone 7

Windows Phone 7.5 的 SQL Server CE (local db) 是不是支持触发器?

Windows Phone 7 数据库

Windows Phone 应用程序仅适用于 Windows Phone 7?

windows 2012服务器,sql serve 20112怎么开通1433端口

Windows-Phone-7:检查 soundEffectInstance 的实例是不是正在播放