【问题标题】:Entity Framework : How could it be possible to add to SQL Server View?实体框架:如何添加到 SQL Server 视图?
【发布时间】:2011-08-31 11:39:11
【问题描述】:

也许我在这里错过了什么,但我不这么认为。

我有一个实体模型,它也包含 sql server 视图。当我使用我的实体时,我注意到类似以下方法;

HubEntities _entities = new HubEntities();
_entities.vw_AccommPropertiesFullWeb.AddObject(...

vw_AccommPropertiesFullWeb 这是一个视图。

如何向视图添加新视图? EF 的人是故意这样做还是配置错误?

【问题讨论】:

    标签: .net sql-server entity-framework entity-framework-4


    【解决方案1】:

    如果您将 SQL 视图导入模型,它始终表示为 DefiningQuery,根据定义,它是只读的。使其可写的唯一方法是实现存储过程并将它们映射到实体类型的InsertUpdateDelete 操作。

    解决方法是以 EF 认为它是表的方式映射视图。它需要:

    • 手动修改 EDMX 文件,除非您购买一些额外的工具,否则您将永远无法再次使用数据库更新 = 您将手动维护 EDMX
    • 您的视图必须是可更新的 - 它必须遵循数据库服务器定义的一些规则 - 通常在与 EF 一起使用时,它要么意味着您的视图必须具有 INSTEAD OF 触发器以进行修改操作,要么它不能使用连接、联合、计算列,聚合或其他任何内容,除非这些操作产生的列在 EF 中被标记为计算(数据库视图只允许从基表插入和更新列)。

    【讨论】:

      猜你喜欢
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-24
      相关资源
      最近更新 更多