我正在使用EF代碼首先實現一個解決方案,其中存儲庫模式和工作單元執行正確的分離。我瘋狂地試圖找到正確的方法。EF代碼首先具有存儲庫和工作單元
所以我的解決辦法是這樣的:
數據訪問項目,我寫我的代碼第一類(Currenty我只有一個:Posts.cs),並寫了我的DbContext,Y也在這裏加入我所需要的其他類例如用於登錄,我將其標記爲[NotMapped](我知道...它沒有任何意義)
庫:我在哪裏工作實施
的Repository模式和單位WCF服務項目:在這裏我訪問該單元喜歡的工作:
var posts= unitOfWork.PostRepository.Get()
這裏一切都很好,但我可能需要這樣做:
unitOfWork.PostRepository.Insert(Post)
現在去耦數據訪問前往市**,因爲我需要的一切的目的以引用DataAccess項目。
所以,幾個問題:
- 這是最好的方法,我怎麼能有一個模型分開?
- 我沒有業務層,像登錄到活動目錄的所有邏輯,它可以放在WCF項目中嗎?
請幫忙!!!
EF可以是存儲庫和UoF本身沒有任何額外的接口?這篇文章描述了在http://msdn.microsoft.com/en-us/data/dn314429上使用mock的方法。所以看起來EF已經在數據訪問和業務層之間提供了一些關注點。 – Artyom
好吧,我自己並沒有多使用mock,但我不認爲他們改變了這樣一個事實,即您的業務邏輯應該不知道您的業務數據如何存儲。例如,您應該致力於能夠用另一種存儲類型(基於文件,其他數據庫等)替換EF,而無需更改業務層中的單行代碼。 –