繁体   English   中英

实体框架:如何才能添加到SQL Server View?

[英]Entity Framework : How could it be possible to add to SQL Server View?

也许我在这里想念一些东西,但我不这么认为。

我有一个实体模型,它也拥有sql server视图。 当我与我的实体合作时,我发现了类似下面的方法;

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

vw_AccommPropertiesFullWeb这是一个视图。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM