我不知道,如果倉庫圖案僅僅是我看到的最常見的東西,或者如果它是抽象的數據庫和控制器之間的層的最佳實踐。今天發現了一些很好的資源解釋持久性的無知以及爲什麼它對單元測試有好處。不過,我仍然不清楚適當的實體框架實施。實體框架模型第倉庫混亂
我當前的項目,我去一下先創建模型。我可以肯定地說,我的總根源是:
- 業務
- 用戶
- 事件
- 發票
這些根是相當豐富的引用「查找實體」,在模型。也就是說,我的模型包含20個奇怪的實體,其中一些主要用於查找目的。如果我要實施存儲庫模式,
- 我需要爲每個實體創建一個POCO嗎?
- 我曾經引用自動生成的EF類/ entites的作爲存儲庫的屬性?
- 我是否總是需要在與實體框架進行交互時使用存儲庫?
我用模型代替第一代碼先去了。儘管看起來這是無關緊要的。所以我收集的是我在.edmx文件中創建的實體實際上是代理?而且我應該爲這些每個創建POCO。我正在嘗試在TDD之後執行此項目。 – Michael 2011-12-20 16:33:50
我建議你稍微休息一下,如果可以的話,至少要先查看代碼。它實際上是模型優先的,但是您可以從類構建實體模型而不是edmx設計表面。然後EF 4.1將爲您生成數據庫模式。它使用默認約定,但您可以將它們更改爲在數據庫中雕刻不同的模式。對不起,我不能提供很多幫助,因爲我不再使用edmx文件。 – danludwig 2011-12-20 16:49:14
好的。所以我們假設我將重構代碼優先實現。我創建了我的POCO的第一個。我先看過幾個代碼示例,然後看到兩個不同的東西。使用DbContext和使用對象上下文來實現上下文。什麼是選擇一個在另一個之上的一些論據。我覺得這裏有一些神奇的事情發生在這裏,不使用edmx來生成數據庫模式。代碼優先方法如何生成模式? – Michael 2011-12-20 17:06:44