2012-05-31 166 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語句進行映射,當您需要從數據庫保存或加載對象時,實體管理器將執行它們。它是以另一個抽象層爲代價的,但它會使代碼更容易編寫。

相關問題