更新映射到视图的实体框架实体

Posted

技术标签:

【中文标题】更新映射到视图的实体框架实体【英文标题】:Updating an Entity Framework entity mapped to a view 【发布时间】:2012-05-16 14:19:11 【问题描述】:

我正在尝试包含一些派生数据(在数据库中计算) 在使用实体框架代码优先的实体中。

为此,我创建了一个视图,它返回主表和包含 额外的派生数据。

我已使用 [Table("NameOfView")] 将视图映射到实体 属性。

编辑似乎可以正常工作,但插入失败。大概编辑不会尝试 触摸派生字段,但插入尝试插入它们。

是否可以先将实体映射到代码中的视图,这样的方式是 主基表仍然是可更新的,并且列不打算用于 更新被忽略?

或者还有其他方法可以做我想做的事情吗?

注意:我尝试使用 [DatabaseGenerated] 属性,但这似乎没有帮助...

【问题讨论】:

【参考方案1】:

尝试使用[DatabaseGenerated(DatabaseGeneratedOption.Computed)]

【讨论】:

谢谢!原始错误已消失(“无法更新多个基表”),但我现在收到“存储更新、插入或删除语句影响了意外数量的行”。有什么想法吗? 参考:***.com/questions/1836173/…或***.com/questions/6819813/…

以上是关于更新映射到视图的实体框架实体的主要内容,如果未能解决你的问题,请参考以下文章

如何使用实体框架测试视图?

视图和实体框架

在 JPA/Hibernate 中持久化映射到 MySQL 视图的实体

实体框架代码优先 - 为 SqlQuery 配置映射

将 MySql 视图映射到 JPA 实体,使用哪个唯一 ID?

JPA 是不是支持映射到 sql 视图?