2013-03-03 58 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使用您的模型(其中核心业务逻辑存在)。

相关问题