Может кто-нибудь посоветовать мне, как они реализовали использование импорта функций при использовании шаблона Repository против EF 4.0?
У нас есть таблица, сопоставленная с объектом-кандидатом, а также функция импорта из существующего спрока, который отображается на кандидата. Это отлично работает в EF, но мы абстрагируем с помощью репозиториев, которые принимают своим конструктором IObjectSet, где T - сущность POCO. Однако это означает, что я не могу получить ссылку на функцию импорта. Единственный способ сделать это - передать ссылку на ObjectContext репозиториям, которые в этом нуждаются, но для меня это похоже на запах дизайна.
Несмотря на то, что некоторые из наших репозиториев расширены за счет пользовательских интерфейсов, мы все еще сталкиваемся с той же проблемой.
public class CandidateRepository : Repository<Candidate>, ICandidateRepository
{
public CandidateRepository(IObjectSet<Candidate> entities)
: base(entities)
{
}
public Candidate GetByEmail(string email)
{
return Entities.SingleOrDefault(c => c.EmailAddress.Equals(email));
}
public bool CandidateExists(string candidateNumber)
{
return Entities.SingleOrDefault(c => c.Number.Equals(candidateNumber)) != null;
}
public Candidate GetByNumber(string number)
{
return Entities.SingleOrDefault(c => c.Number.Equals(number));
}
public Candidate GetMember(string number)
{
return new Candidate(); //This one needs to return from the Function Import
}
}
Любой совет с благодарностью.