В попытке дополнительно абстрагировать свой уровень репозитория я попытался следовать подходу «сначала код», как описано здесь: http://msdn.microsoft.com/en-us/magazine/ee236639.aspx.
У меня есть отношение многие ко многим между Учетной записью иПодписка сущностей.Свойство Navigation существует в каждой сущности, указывающей на другую (например, Account.Subscription).
До того, как я создал свою собственную модель, я использовал модель, сгенерированную Entity, и ниже работал нормально ("db" - контекст сущности):
public IQueryable<Account> GetBySubscriptionId(int subId)
{
return from a in db.Accounts
where a.Subscriptions.Any(s => s.SubscriptionId == subId)
select a;
}
Теперь модель для Account выглядит такthis:
public class Account
{
public int AccountId { get; set; }
public string Name { get; set; }
// nav properties
public virtual List<Subscription> Subscriptions { get; set; }
}
И теперь, когда я пытаюсь выполнить тот же самый запрос LINQ, я получаю эту ошибку:
"Указанный член типа" Подписки "не поддерживается в LINQ дляСущности. Поддерживаются только инициализаторы, члены сущностей и свойства навигации сущностей. "
Любые предложения приветствуются.