3

我将在几天后开始一个新项目,该项目基于ASP.NET MVC3我在 Web 开发方面没有足够的经验。
我只想了解Entity框架。什么是Entity框架?我们为什么使用它?也想了解一下Object Relational Mapping。它如何与实体框架连接?
我用谷歌搜索但没有得到确切的想法。
我很想知道所有这些东西背后的基本概念是什么?

4

2 回答 2

8

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

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

于 2012-05-31T06:43:03.177 回答
4

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

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 语句,当您需要从数据库保存或加载对象时,实体管理器将执行它们。它以另一个抽象层为代价,但它会使代码更容易编写。

于 2012-05-31T06:43:24.433 回答