我们正在考虑使用MVC 4进行大规模应用。
我们的DBA对数据库“失去控制”感到紧张,并且不喜欢定义/更改数据库结构的应用程序代码的想法。我能理解。他认为这对于一个人的团队或小型商店来说非常棒,但是他们没有看到它如何适应员工DBA的企业解决方案。他在哪里适应这个过程?
我想EF在企业环境中被广泛使用,有没有什么好的文章可以更好地告诉我们EF的使用方式与编码器代码和DB人管理表的传统环境形成鲜明对比?
答案 0 :(得分:3)
您似乎误解了实体框架是什么,以及它是如何使用的。
实体框架称为ORM或对象关系映射器。 ORM没有什么固有的东西可以控制DBA。
EF确实可以生成表格,数据模型,sql等。但它不会 HAVE 。其他ORM也没有。在它的核心,ORM只需要一个结果集,并将其映射到一个对象集合。这也可以通过存储过程来完成。
大多数人都喜欢进行临时查询,而EF非常适合这种情况,但如果您的DBA要求所有查询都由他编写(或经过他的批准,并使用了sprocs),那么肯定可以使用方式。
当前版本的Entity Framework实际上只支持查询映射,但是到今年年底发布的EF 6将增加对Insets,Update和Deletes的支持。您今天可以将这些视为查询,但它们不会映射到对象。
但是老实说,你的DBA应该真正面对DBA越来越不必要的事实。他们总是有一个地方,但他们真的需要接受他们不能控制他们曾经拥有的查询执行。用户(以及开发人员)要求更多动态查询,这意味着执行生成的sql。
答案 1 :(得分:0)
嗯,这个问题有点笼统,但如果我没记错Microsoft® .NET: Architecting Applications for the Enterprise本书在数据访问层和ORM上有一个非常详细的章节/章节。