Привет все
Я пытался выполнить пошаговое руководство по шаблону POCO. И теперь у меня проблемы с использованием его в n-уровневом дизайне.
Следуя статье, я поместил свою модель edmx и сгенерированный шаблон context.tt в свой проект DAL и переместил сгенерированные классы сущностей model.tt в мой проект уровня бизнес-логики (BLL).
Делая это, я мог бы использовать эти объекты внутри моего BLL, не ссылаясь на DAL, я думаю, это идея PI; ничего не зная об источнике данных.
Теперь я хочу расширить сущности (внутри model.tt) для выполнения некоторых действий CUD в проекте BLL, поэтому я добавил новый частичный класс с тем же именем, что и сгенерированный из шаблона,
public partial class Company
{
public static IEnumerable<Company> AllCompanies()
{
using(var context = new Entities()){
var q = from p in context.Companies
select p;
return q.ToList();
}
}
}
однако visual studio не позволит мне сделать это, и я думаю, что это произошло потому, что context.tt находится в проекте DAL, а проект BLL не может добавить ссылку на проект DAL, поскольку DAL уже ссылается на BLL.
Поэтому я попытался добавить этот класс в DAL, и он скомпилировался, но intelisense не будет отображать BLL.Company.AllCompanies () в моем методе веб-службы из моего проекта веб-сервиса, который имеет ссылку на мой проект BLL.
Что мне теперь делать? Я хочу добавить методы CUD к объектам, сгенерированным шаблоном, в моем проекте BLL и вызывать их в моих веб-службах из другого проекта.
Я искал этот ответ уже несколько дней, и мне действительно нужны некоторые руководства отсюда, пожалуйста.
Bryan