2015-07-28 52 views
1

我正在研究一个以代码优先的POCO对象代表数据库结构的项目。为了开发目的,我们使用删除,并在数据库更改时创建如何在重新创建数据库时保留ADO.NET EDM的视图

对于提供对OData可查询端点的支持有一个新要求。所以我创建了新的ADO.NET实体数据模型(从现有数据库生成)。

我想只使用EDM从数据库视图检索数据。 但据我所知,如何在代码中指定它们是没有办法的,所以它们会在EDM中保留下来。如果我在数据库中创建视图,请重新生成EDM,然后更改代码优先结构,重新生成数据库并且视图消失。

这只是一个问题,只适用于开发阶段,但一个大问题。

我能想到的唯一解决方案就是在Entity Framework创建数据库时保留所有视图的SQL定义并执行它们。

有没有更好的方法?

回答

1

代码优先的方法不支持创建视图。所以你必须寻找其他选择。我会建议创建迁移(大多数情况下自动升级),并避免使用drop/create方法。这将保留视图并首先保留代码的所有好处。

相关问题