即使将其标记为已计算,计算列抛出也无法更新错误

Posted

技术标签:

【中文标题】即使将其标记为已计算,计算列抛出也无法更新错误【英文标题】:Computed Column throw can't update error even after marking it as Computed 【发布时间】:2015-12-22 22:37:05 【问题描述】:

我有一个已被标记为已计算的计算列,但它仍然向我抛出 SqlException:

The column "OPPORTUNITY_VALUE" cannot be modified because it is either a computed column or is the result of a UNION operator.

如何摆脱这个错误?

    [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
    public long? OPPORTUNITY_VALUE  get; set; 

【问题讨论】:

究竟在做什么时抛出异常?您还没有向我们展示任何可执行代码。 好吧,我不需要写任何代码,实体框架为我处理一切。 异常不会自发发生。 当异常发生时你试图做什么 当我更新我创建的项目时发生异常,但我没有设置 OPPORTUNITY_VALUE 值或类似的值,我只是修改了一些其他字段。发生的事情是,当我从数据库中获取它时,我正在重新使用同一个实例,所以我猜 OPPORTUNITY_VALUE 会自动填充数据库中的任何内容,因此当我尝试保存它时它会抱怨。但是,即使我将 OPPORTUNITY_VALUE 设置为 null,它仍然会抛出错误。 请编写创建此列的 sql 代码。 【参考方案1】:

原来,这是我公司正在使用的 dapper.fastcrud 包中的一个错误,抱歉。

【讨论】:

以上是关于即使将其标记为已计算,计算列抛出也无法更新错误的主要内容,如果未能解决你的问题,请参考以下文章

Cassandra 通过主键查询和列抛出错误

DataTable - 附加附加列抛出一些异常错误

快捷键2:可以抛出呼叫,但未将其标记为“ try”,并且未处理错误

远程桌面错误:由于安全设置错误,客户端无法连接到远程计算机

无法修复警告检测到重复键:“0”。这可能会导致更新错误

当该列包含空值时格式化列抛出异常