0

我们可能正在考虑为 EF 4.3.1 中的视图切换表。

我们首先通过 edmx 文件使用 db,因此它会生成我们的实体和 dbcontext。

有没有人有任何提示将我们的实体从表重新映射到视图?

这容易发生灾难吗?过去,我们在通过设计器更新 edmx 文件时遇到了麻烦,其中底层更改没有反映在代码中的某个深处,最终导致缺少列。

还是视图的行为与 EF 世界中的表非常相似?

4

1 回答 1

4

设计器以完全不同的方式处理视图 - 首先,EF 通过设计器使用的所有视图都是只读的,除非您将存储过程或自定义 SQL 命令映射到要修改的每个实体的插入、更新和删除操作。

通常,如果您有可更新的视图,您可以简单地修改 EDMX 的 SSDL 部分并欺骗它假装视图实际上是一个表,但这有两个后果:

  • 您必须将 EDMX 直接修改为 XML
  • 您不能再使用数据库中的更新,因为它总是会删除整个 SSDL 部分并在没有您更改的情况下创建一个新部分 = 您必须手动维护您的 EDMX 或购买一些 VS 扩展,这将允许您仅更新选定的表。
于 2012-03-29T11:17:24.150 回答