2012-05-31 123 views
0

我将在几天内开始一个新项目,这是基于ASP.NETMVC3,我没有足够的Web开发经验。
我只想知道关于Entity框架。什么是Entity框架?我们为什么使用它? 也想知道关于Object Relational Mapping。它如何与实体框架连接?
我已经使用Google搜索,但没有得到确切的想法。
我非常想知道所有这些背后的基本概念是什么?什么是实体框架?我们为什么使用它?

+0

实体框架是可用于.NET的OR映射器之一。如何以及为什么你谷歌没有得到任何有关EF的明智信息? – Mithrandir

回答

5

实体框架是一个对象关系映射器。这意味着它可以将数据库中的数据作为对象(例如:具有属性Id,Name等的Person对象)或对象集合返回。

为什么这很有用?那真的很简单。大多数情况下,你不需要自己编写任何SQL语句,而且使用内置的函数进行迭代非常简单。当您对对象进行任何更改时,ORM通常会检测到该对象,并将该对象标记为“已修改”。当您将ORM中的所有更改保存到数据库时,ORM将根据您对对象所做的操作自动生成插入/更新/删除语句。

3

在代码中,您可能希望以面向对象的方式处理对象。

MyClass obj = new MyClass(); // etc. 

但是,它可能是麻烦的数据的数据库从对象保存,因为你可能最终得到你的对象映射到SQL查询字符串

// Perhaps with parameter bindings instead, but the idea is the same 
"INSERT INTO MYTBL name,phone VALUES(" + obj.Name + "," + obj.Phone + ")"; 

的ORM框架做这个对象SQL通过生成SQL语句进行映射,当您需要从数据库保存或加载对象时,实体管理器将执行它们。它是以另一个抽象层为代价的,但它会使代码更容易编写。

相关问题