У меня есть такая архитектура:
Данные (библиотека классов, которая обрабатывает наши вещи Entity Framework)
Компоненты (библиотека классов среднего уровня, которая ссылается на библиотеку данных)
WebOffice (веб-приложение, которое ссылается на библиотеку компонентов, но НЕ на библиотеку данных)
Теперь у меня есть следующий фрагмент кода (он находится внутри нашего Components.Payment.cs; а tblPayment содержится в нашей библиотеке данных.):
public static Payment Retrieve(int id)
{
var t = repository.Retrieve(id);
//the above line returns a tblPayment object
if (t != null)
return new Payment(t);
return null;
}
public static Payment Retrieve(tblPayment tblPayment)
{
return new Payment(tblPayment);
}
После того, как я добавил это; проект WebOffice выдает следующую ошибку:
errorCS0012: тип «Data.Model.tblPayment» определен в сборке, на которую нет ссылок. Необходимо добавить ссылку на сборку «Данные, версия = 3.5.0.0, культура = нейтральная, PublicKeyToken = 749b8697f3214861».
Теперь, для меня это не совсем имеет смысла, потому что проект WebOffice вообще не вызывает метод Retrieve (tblPayment tblPayment). (Используется только внутри библиотеки компонентов)
Любая подсказка, почему он будет запрашивать ссылку на данные? Нужно ли ссылаться на каждую библиотеку, на которую ссылается библиотека? (попробуйте сказать, что в 5 раз быстрее ...)