【发布时间】:2016-05-06 11:29:44
【问题描述】:
我在插入或更新具有计算列的实体时收到以下错误,该计算列根据其他表中的值从标量函数获取值。
SqlException:无法在 OUTPUT 子句中引用列“inserted.SubjectStatus”,因为列定义包含子查询或引用执行用户或系统数据访问的函数。如果一个函数不是模式绑定的,则默认情况下它会执行数据访问。考虑从列定义中删除子查询或函数,或从 OUTPUT 子句中删除列。
我的实体 (Subject) 具有属性 SubjectStatus 和属性 DatabaseGenerated(DatabaseGeneratedOption.Computed)。
另外,我在DbModelBuilder 上有以下代码:
modelBuilder.Entity<Subject>()
.Property(e => e.SubjectStatus)
.HasColumnType("int")
.HasComputedColumnSql("dbo.SubjectStatus(Id)")
.ValueGeneratedOnAddOrUpdate();
我在网络上的搜索对我没有帮助。有什么解决办法吗?
【问题讨论】:
标签: c# sql-server entity-framework sql-server-2012