2013-03-03 56 views
0

我有2個項目。移動應用程序和標準網站。2個MVC項目之間的單獨模型?

我想在兩個項目之間使用實體框架 - 代碼優先共享我的模型。

我該如何達到這個目標?

我看了看這個問題: MVC and separate projects, 這是否意味着我只能把我的DTO在單獨的程序?

  1. 是否有可能和/或明智的做法是把兩種視圖模式和DTO的一個單獨的項目裏面?

  2. 如果是這樣,我還可以把我的模型查詢放入這個單獨的程序集中嗎?

並舉例幫助項目我的想法:

 ExtAssembly.Product product = new ExtAssembly.Product(); 
     product.Name = "Dave"; 

     ExtAssembly.ProductQueries.Create(product); 

     var products = ExtAssembly.ProductQueries.Search("Dave"); 

回答

1

是否有可能和/或明智的做法是把兩種視圖模式和DTO的一個單獨的項目裏面?

是的,它可能,但它可能不是正確的分離。視圖模型通常綁定到視圖,所以它們通常會比模型更接近視圖。我不確定你的DTO在這裏扮演什麼角色,但是你想問問自己(M,V或C)擁有它們的關注點,然後將它們分組。

如果是這樣,我還可以把我的模型查詢放在這個單獨的程序集中嗎?

根據您的示例,將模型和模型查詢放置在單獨的程序集中似乎很明智。我曾多次看到該模型分爲新項目。將模型打包到與您的控制器相同的組件中或查看您在問題中陳述的原因完全沒有意義。

即是說,您通常想要爲多個UI使用您的模型(其中核心業務邏輯存在)。

相關問題