У меня есть три C # ASP.NET MVC2 проекта в одном решении. Имена изменены для простоты.
Решение - MY_COMPANY_SITES.
В нем три проекта: CUSTOMER_SITE, INTRANET_SITE, CENTRAL_REPOSITORY.
... Оба проекта CUSTOMER_SITE и INTRANET_SITE имеют свои собственные модели объектов ADO.Net, созданные с помощью EDMX, и подключаются к своим собственным базам данных. Проект CENTRAL_REPOSITORY содержит третью модель объекта ADO.Net, связанную с его собственной базой данных.
В моей ситуации требуется, чтобы эти три базы данных были отдельными; потребовалось бы слишком много времени, чтобы объяснить здесь.
Что мне нужно сделать: предоставить как CUSTOMER_SITE, так и INTRANET_SITE доступ к объектам CENTRAL_REPOSITORY ADO.Net, в дополнение к их собственным.
Т.е. должен работать следующий код:
CUSTOMER_Entities custDb = new CUSTOMER_Entities();
CENTRAL_Entities ctrDb = new CENTRAL_Entities();
StoreLocation firstLoc = ctrDB.StoreLocations.First();
List<Order> orders = (from n in custDb.Orders
where n.LocationID == firstLoc.LocationID
select n).ToList();
... В идеале я бы предпочел, чтобы, если я изменяю модель сущности в CENTRAL_REPOSITORY, она просто связана с другими приложениями, поэтому мне не нужно копировать все свои изменения среди всех трех.
Я полагаю, что должен быть "правильный" способ сделать это. Мог бы очень помочь понять, как.
Спасибо!
UPDATE:
Блинди (ниже) дал мне указание найти ответ, просто щелкнув правой кнопкой мыши «Ссылки» в CUSTOMER_SITE в обозревателе решений и выбрав «Добавить ссылку ...», затем выберите проект CENTRAL_REPOSITORY и нажмите ОК И вуаля, все должно работать.
Однако на самом деле это не похоже на работу. В частности, я получаю эту ошибку, когда пытаюсь получить доступ к объектам данных CENTRAL_REPOSITORY из CUSTOMER_SITE или INTRANET_SITE:
The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.
... так что есть некоторая проблема с попыткой использовать сущности из этого проекта, и я не понимаю что. Есть мысли?