У меня есть класс репозитория, у которого есть метод для возврата ObjectSet
что-то вроде
public class Repository:ObjectContext
{
public IObjectSet<T> GetObjectSet()
{...}
}
Когда я использую это в запросе, я получаю ошибку linq to entity (не распознает метод ...)
Мне нравится эта идея иметь общий репозиторий, который не восстанавливается каждый раз (с шаблонами T4)
Есть ли способ расширить поставщик запросов для распознавания моего метода? Но я хочу разрешить его на сервере (другими словами, участвовать в генерации запросов).
Пример кода, который его использует:
static readonly Func<Repository,
string, AuthorizedUser> getInstitutionByAuthorizedUserName = CompiledQuery.Compile(
(ObjectContext ctx, string userName) =>
(from inst in ctx.GetObjectSet<Institution>()
join auths in ctx.GetObjectSet<AuthorizedUser>()
on inst.Key equals auths.Institution.Key
where auths.Name == userName
select inst.Key).SingleOrDefault();