使用 Entity Framework 5 和 EF Core Power Tools(启用了生成 ef 5 代码的设置),我们会为每个计算列生成类似以下代码:
...HasComputedColumnSql("([LastName]+isnull(' '+[FirstName],''))", true);
这是完全正确的。
不幸的是,尝试创建一个具有计算列的新实体并尝试保存我们从 ef core 5 中得到以下异常:
无法修改列“...”,因为它是计算列或者是 UNION 运算符的结果
当手动附加类似这样的ValueGeneratedOnAddOrUpdate
之后:HasComputedColumnSql
...HasComputedColumnSql("([LastName]+isnull(' '+[FirstName],''))", true).ValueGeneratedOnAddOrUpdate();
一切正常。
根据文档,这应该由HasComputedColumnSql
.
可以做些什么来克服这个问题?
我们正在使用 Microsoft.EntityFrameworkCore v5.0.5 包,并且我们正在使用 Azure Managed Sql Server Instance