2013-03-03 4 views
0

У меня есть 2 проекта. Мобильное приложение и стандартный веб-сайт.Отдельные модели между двумя проектами MVC?

Я хочу поделиться своими моделями между двумя проектами, используя Entity Framework - Code First.

Как это получить?

Я смотрел на эту Q: MVC and separate projects, Означает ли это, я только кладу DTOs в отдельной сборке?

  1. Можно ли и/или разумно поставить обе модели View и DTOs внутри отдельного проекта?

  2. Если да, могу ли я также разместить свои модельные запросы внутри этой отдельной сборки?

И пример, чтобы помочь проекту мои мысли:

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

     ExtAssembly.ProductQueries.Create(product); 

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

ответ

1

Можно ли и/или разумно поставить обе модели View и DTOs внутри отдельного проекта?

Да, возможно, однако, это может быть не правильное разделение. Просмотр моделей обычно привязывается к виду, поэтому они обычно будут находиться ближе к представлению, чем к модели. Я не уверен, какую роль играют ваши DTO, но вы хотите спросить себя, какая проблема (M, V или C) им принадлежит, а затем группировать их там.

Если да, могу ли я также разместить свои модели в этой отдельной сборке?

На основании вашего примера размещение модели и ваших запросов модели в отдельной сборке кажется разумным. Я неоднократно видел, что Модель разделена на новый проект. Не имеет смысла всегда упаковывать модель в ту же сборку, что и ваши контроллеры, или просматривать именно те причины, о которых вы заявляете в своем вопросе.

А именно, вы обычно хотите использовать свою модель (где существует основная бизнес-логика) для более чем одного пользовательского интерфейса.

Смежные вопросы