我正在开发Web应用程序,当然在每个阶段我都需要更改测试服务器上的数据库架构。当我尝试将代码发布到我的azure应用程序服务时,它显示了一个错误:


  错误:.Net SqlClient数据提供程序:消息50000,级别16,状态127,
  第6行检测到行。模式更新正在终止,因为
  可能会发生数据丢失


我了解,它想删除一些列,当然应该删除一些列。
我的问题是,我怎样才能告诉它删除列?

更新资料

我已经从影响表中删除了所有行,并且发布已经完成。但是应该有一种方法可以保留我的数据并删除该列。

此外,生产上的解决方案是什么?

更新2

我发现this post in msdn提到:您可以取消选中“数据” |“数据”下的“如果可能发生数据丢失,阻止更新”选项。模式比较|模式比较选项。

但是我猜只有在您有数据库项目的情况下才存在。首先如何在代码上做呢?

最佳答案

查看将部署脚本添加到项目中。这样一来,您就可以使用T-SQL执行由于发布时数据完整性原因而被阻止的操作。我不能肯定这是否适用于您正在执行的特定类型的项目,但是我过去曾使用它们对数据库项目进行过阻止的模式更改。

关于c# - 检测到行。架构更新正在终止,因为可能会发生数据丢失,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46181287/

10-13 06:47
查看更多