是否可以同时使用实体框架和数据库项目?

Ste*_*ens 6 sql-server entity-framework visual-studio

在昨天的一次会议上,我了解到将数据库置于源代码控制中的重要性。他们向我们展示了如何创建一个新的数据库项目并导入数据库。

我想知道的是如何更改在实体框架上运行的现有项目以利用数据库项目的功能?架构更新一直是通过使用实体框架迁移来完成的。我知道数据库项目将能够为我部署数据库更新并将这些更新脚本保存到源代码管理中,但我想保留实体框架来查询我的数据(如果这有任何意义的话)。

是否可以(或什至:推荐)使用 Entity Framework 访问数据库但使用 Visual Studio 中的数据库项目管理数据库?你怎么看?

我试过搜索类似的问题并使用 Google 来查找其他人是否有同样的问题,但到目前为止还没有骰子。

我还应该声明我正在考虑在其中也有存储过程的数据库中使用它。这些根本不是通过实体框架控制的,因此还没有进行源代码控制。

感谢您的时间。

Rog*_*olf 1

我开发了一个类似的应用程序,有 2 个项目:应用程序本身和数据库的 SSDT 项目。数据库更改是通过更改脚本部署的,并且在应用程序中禁用了 EF 迁移。

一切工作正常,尽管它确实带来了一些开销。例如,将主要的数据库更新/重构引入到 EF 层就有点麻烦。由于某种原因,我无法将数据库更改直接逆向工程到应用程序中,因此我必须半手动执行此操作:创建新项目,为整个数据库生成 EF 上下文,然后将新的/更改的文件复制到主应用程序中。

(话又说回来,那已经是差不多 5 年前的事了。幸运的是,EF 脚手架从那时起已经有所改进。)