sql-server – 由于数据丢失可能发生,模式更新正在终止

我不断碰到这个错误,这通常是由于在Lightswitch中构建应用程序时所犯的一些错误造成的.它通常与关系相关联.在我发布应用程序并看到错误之前,我通过移动并完成了许多工作.在这个时候,很难计算我做错了什么.有没有办法跟踪这个错误,看看我需要在表中更改?

Net sqlClient Data Provider: Msg 50000,Level 16,State 127,Line 6
Rows were detected. The schema update is terminating because data loss
might occur.

谢谢.

解决方法

当您对实体的属性(在表设计器中)进行的更改将导致发布数据库中的实体表被删除并发生时,会发生此错误.重新创建,表中有数据.这只是sql Server的工作方式,它不在LightSwitch的控制之下.然而,LightSwitch在谨慎的一面犯错,不允许可能导致任何数据潜在丢失的操作.

可能触发此类事物的类型有:

>重命名属性
>将其从需要更改为不需要等
>更改属性的数据类型
>&甚至(如果我记得正确的话)改变一个位置
属性列表中的属性

但是,您可以将属性添加属性列表的末尾,而不会触发表被删除&重建.

在尝试发布应用程序之前进行太多更改真的不是一个好主意,因为您建议的原因 – 最终不知道您做了什么.特别要在对实体的属性进行任何更改后发布.即使您刚刚发布到开发机器上的本地sql Server实例(包括sql Express),也可以在发布到生产服务器之前“测试”更改.

我已经解决了这个问题(当我习惯于使用LS的内在数据时,ApplicationData – 我现在使用附加的数据源)是手动使数据库本身的列更改,使用像SSMS(sql服务器管理Studio).然后,您可以决定允许(潜在的)数据丢失.小心,但你改变了,&确保它与LightSwitch中属性的更改完全相同.当然,请在对数据库进行任何更改之前备份.如果导致数据库与LightSwitch不同步,您将遇到重大问题.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...