code first:顧名思義:就是通過**生成資料庫----通過類生成資料庫中對應的表:
首先定義兩個類(就是建模的過程):
1public
class
order24
5public
string ordercode 67
public
string custormname 89
public icollectionorderdetails
10 }
1主要通過 dbcontext實現的,所以要定義乙個繼承dbcontext的基類public
class
orderdetail24
public
int orderid
5public
decimal cost
6public order order
7 }
public重要講解的是這個靜態建構函式:相當於對於整個應用程式域建立了乙個標準,當初始化 dbcontext的時候就會通過呼叫database 的初始化的方法 setinitiallizer方法進行檢查現在的模型和資料庫的架構是否相同,如果不相同 就通過引數class
dbentities:dbcontext
//set/get:代表是可讀寫的
public dbsetorderdetails
static
dbentities()
}
new dropcreatedatabaseifmodelchanges() 刪除資料庫然後新建。
這時可能大家就會問了,內部是通過什麼進行檢查模型和資料庫的架構是否相同的呢?
如果大家注意的話,就會發現,當我們生成資料庫的時候會發現,生成我們定義的資料庫表的同時頁生成了乙個 名字為edmmetadata,而且他的裡面一面只有兩個乙個字段(乙個是id,另乙個就是modelhash),這個modelhash很重要:是通過模型生成的對應的hash值,當初始化的時候就會 先對當前模型生成對應的 hash 然後和這個字段進行比對,如果相同就不刪除重建,如果不同就刪除重建。
表中有一條資料(model屬性 對 針對 資料庫 的 架構 生成 的二進位制資料,,每次對資料庫進行操作的時候都會 對現有的 **生成相應的 二進位制資料 ,然後和 原來記錄的資料 進行比對,如果不同,則刪除資料庫重建。)
EF4 1中詭異的GUID為空問題
在用ef4.1過程中發現了乙個非常詭異的guid為空問題,不說廢話,直接看問題吧 測試表userinfo sql server 2008 r2 這裡是建表sql語句,供有興趣朋友測試 table dbo userinfo id int identity 1 1 not null,userid uni...
EF4 1 企業架構模式 自動對映資料表
在講解之前,先來看看解決方案的架構 1 在nop.core下的domain裡建立乙個實體category using system.data.entity.modelconfiguration using nop.core.domain.catalog 3 在nop.data下建ef上下文介面idb...
基於EF4 1的異構資料庫訪問元件(三)
基於ef4.1的異構資料庫訪問元件 二 中已完成了該元件的核心部分 接下來,向大家介紹一下第一篇所說的,給上層提供統一的持久資料介面。irepository就是需要提供給上層的統一資料持久介面,這裡大家可以找到很多的例子,不多說,直接上類圖 上圖中有以下幾個主要部分 關於iunitofwork與ir...