我正在开发Web应用程序,当然在每个阶段我都需要更改测试服务器上的数据库架构。当我尝试将代码发布到我的azure应用程序服务时,它显示了一个错误:
错误:.Net SqlClient数据提供程序:消息50000,级别16,状态127,
第6行检测到行。模式更新正在终止,因为
可能会发生数据丢失
我了解,它想删除一些列,当然应该删除一些列。
我的问题是,我怎样才能告诉它删除列?
更新资料
我已经从影响表中删除了所有行,并且发布已经完成。但是应该有一种方法可以保留我的数据并删除该列。
此外,生产上的解决方案是什么?
更新2
我发现this post in msdn提到:您可以取消选中“数据” |“数据”下的“如果可能发生数据丢失,阻止更新”选项。模式比较|模式比较选项。
但是我猜只有在您有数据库项目的情况下才存在。首先如何在代码上做呢?
最佳答案
查看将部署脚本添加到项目中。这样一来,您就可以使用T-SQL执行由于发布时数据完整性原因而被阻止的操作。我不能肯定这是否适用于您正在执行的特定类型的项目,但是我过去曾使用它们对数据库项目进行过阻止的模式更改。
关于c# - 检测到行。架构更新正在终止,因为可能会发生数据丢失,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46181287/