Я пытаюсь настроить архитектурную модель для нескольких связанных проектов, которые будут построены на платформе ASP.NET MVC2 (.NET 4). Не уверен, что это лучший способ, так как я все еще новичок в ASP.NET.
Я постараюсь выложить упрощенное, но аналогичное описание того, что я пытаюсь сделать. Длинная история о том, почему он должен быть настроен таким образом, но достаточно сказать, что это так.
Итак: есть одна центральная база данных и связанные модели данных. Несколько различных веб-приложений будут использовать эти данные. Он состоит главным образом из информации о PEOPLE - именах, контактной информации, возрасте и т. Д. Существует простое веб-приложение, которое обращается к этой системе, единственной целью которой является выполнение операций CRUD над данными People.
Существует несколько дополнительных приложений, основанных на данных людей. Например, есть приложение для группы А, которое имеет дело с зарплатой и льготами. Эта информация должна содержаться в отдельной базе данных из данных людей на отдельном сервере. Существует также приложение для группы B, которая занимается хобби и внешними интересами; эта информация будет содержаться в еще одной отдельной базе данных на отдельном сервере. Вы получаете картину. Может быть 20 групп, каждая со своим приложением на своем сервере со своей базой данных. Все это будет ASP.NET MVC2 с использованием MS-SQL в качестве базы данных. Каждый будет иметь доступ к .DLL, содержащему модели данных и т. Д. Для централизованных данных, чтобы включить их в свои решения Visual Studio.
Я хочу, чтобы код в приложениях для приложений групп как можно проще выполнял что-то в соответствии с операциями JOIN (через LINQ) в сочетании своих данных и центральных данных. Это то, что имеет принятую передовую практику? Можно ли просто включить сборку для центральных моделей данных, а затем просто написать код, как если бы все было частью одной модели?
Большое спасибо.