Я пытаюсь использовать Содержит() в простом запросе, но это не удается, с ошибкой:LINQ к Entities Содержит запрос
Невозможно создать постоянное значение типа «NewsletterApp.Models.NewsletterUser». В этом контексте поддерживаются только примитивные типы (такие как Int32, String и Guid).
Редактировать IntelliSense фактически направляет меня использовать NewsletterUser в Содержит() - «(NewsletterUser пункт)»
Я читал, что там были проблемы поиска объекта с помощью Содержит(), используя EF с .NET 3.5, но я использую EF4.2 (также попытался 4.1) с .NET 4.0. Код ниже:
var db = new MyContext();
var newsletterUser = db.NewsletterUsers.Find(UserID);
var subscriberList = db.Subscribers
.Where(x => x.NewsletterList.ListOwner.NewsletterUsers.Contains(newsletterUser))
.ToList();
NewsleterUsers - это IEnumerable, так что код не будет работать. Фактически intellisense направляет меня на использование объекта '(NewsletterUser item)'. – Judo
Я мало знаю о вашем контексте, поэтому не могу точно написать точный запрос .... Можете ли вы уточнить, что вы хотите, и показать класс сущности для NewsLetter и подписчиков .... Основная причина, по которой ваш запрос isn «Работаю, потому что вы сравниваете объекты вместо свойств или полей ... Думайте об этом таким образом, можете ли вы сравнить класс1 с классом2 .... –