2010-09-10 19 views
1

我忙於MVC 2項目。我有我的實體框架4 .edmx文件在不同的項目中,並引用到我的Web應用程序。如果我的.edmx文件位於單獨的項目中,我不太確定何時在我的Models目錄中創建模型文件(由MVC應用程序創建)。MVC 2模型目錄

請有人可以幫助解決這個困惑。我很感謝有關我的場景的一些示例。

謝謝。

回答

3

您不必將模型置於「模型」文件夾中,但這只是框架建議的最佳做法。我個人只有我的視圖模型在'Models'目錄中,並且每個視圖都有一個。然後,將我的模型/對象從我的ORM映射到這些模型,以便從我的數據訪問層傳回的對象不是我傳遞給我的視圖的那些對象。通常我的DAL類不會將1對1映射到我的視圖模型。

+0

如果我的.edmx文件位於單獨的項目中,是否需要執行此操作?如果它在一個單獨的項目中,是否仍然會有一些情況會向代碼添加代碼?你可以給我一個這樣的場景的例子嗎? – 2010-09-10 09:01:35

+0

@bioluminescence通常,從我的ORM對象到我的視圖模型的映射發生在控制器中。所以我在我的項目中引用了一個包含我所有實體框架代碼的DAL。然後在特定的操作中調用DAL並將對象作爲實體框架對象返回。然後代碼將數據映射到視圖模型對象並將其傳遞給視圖。你所有的實體框架代碼都應該包含在你剛剛包含在MVC項目中的獨立DLL中。您可以更進一步,幷包含一個存儲庫模式來抽象DAL中的ORM對象。 – Kelsey 2010-09-10 15:27:22

+0

當你提到「你可以更進一步並且包含一個存儲庫模式來抽象你的DAL中的ORM對象」,你的意思是?我所做的是使用提取類和實體上下文的POCO實體生成器。你是這個意思嗎? – 2010-09-13 06:30:05

3

你可以把你的視圖模型放到這個目錄中。

+0

是的,如果我要在模型目錄中創建我的.edmx文件,但是我在一個單獨的項目中完成了這種情況。我在這裏錯過了什麼嗎? – 2010-09-10 08:56:09

+0

不,你不會錯過任何東西。將模型留在單獨的項目中,並將視圖模型放入模型文件夾中。 – 2010-09-10 09:00:29