我们正在考虑将MVC4用于规模相当大的应用程序。
我们的DBA担心“失去对数据库的控制”,并且不喜欢应用程序代码定义/更改数据库结构的想法。这我能理解。他认为这对于一个人的团队或小公司来说很棒,但他不认为它适合有DBA的员工的企业解决方案。他在这一过程中的位置是什么?
我设想EF在企业环境中被广泛使用,有没有什么好的文章可以更好地告诉我们,与传统的程序员和数据库人员管理表的环境相比,EF是如何被利用的?
发布于 2013-07-16 07:23:51
您似乎误解了实体框架是什么,以及它是如何使用和可以使用的。
实体框架被称为ORM或对象关系映射器。ORM没有任何固有的东西可以从DBA那里夺走任何控制权。
EF确实可以生成表、数据模型、sql等。但这并不是必须的。ORM的核心是简单地获取一个结果集,并将其映射到一个对象集合。这也可以通过存储过程来实现。
当前版本的Entity Framework实际上只支持查询映射,但EF6将于今年年底发布,它将添加对插入、更新和删除的支持。您现在可以将它们作为查询来执行,但它们不会映射到对象。
但坦率地说,您的DBA确实应该面对这样的事实:DBA变得越来越不必要了。他们总会有一席之地,但他们真的需要接受,他们不能像以前那样对查询执行进行铁腕控制。用户(以及开发人员)要求更多的动态查询,这意味着要执行生成的sql。
发布于 2013-07-16 05:34:57
嗯,这个问题有点笼统,但如果我没记错的话,Microsoft® .NET: Architecting Applications for the Enterprise书中有一个非常详细的章节,介绍了数据访问层和ORM的一般情况。
https://stackoverflow.com/questions/17664244
复制相似问题