В настоящее время я создаю собственный виджет MVC для проекта Sitefinity (v9.2).
В составе этого виджета есть запрос к базе данных для получения коллекции динамического типа модуля (статьи). Я пытаюсь получить типы статей, содержащие все метки в моем списке GUID Labels.PublicLabels.
Мой текущий запрос:
var collection = dynamicModuleManager.GetDataItems(articleType)
.Where(a => a.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Live
&& a.Visible == true
&& Labels.PublicLabels.All(l => a.GetValue<IList<Guid>>("Public").Contains(l)));
Во время выполнения я получаю исключение, в котором упоминается, что «серверная сторона не реализована». Может ли это быть ограничением OpenAccess?
Я пробовал широкий спектр комбинаций запросов LINQ to SQL, которые оказались успешными, и я изо всех сил пытаюсь понять проблему здесь.
Благодарим за любую идею!
ОБНОВЛЕНИЕ: я попробовал несколько вариантов одного и того же запроса, например:
var collection = dynamicModuleManager.GetDataItems(articleType)
.Where(a => a.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Live
&& a.Visible == true
&& Labels.PublicLabels.Any(l => a.GetValue<IList<Guid>>("Public").Contains(l)));
Нет результата, я все еще получаю следующее сообщение об исключении:
Выполнение System.Linq.Enumerable:Any(IEnumerable1,Func
2) на стороне сервера базы данных в настоящее время не реализовано.
Будем очень признательны за любые дополнительные советы, пока я предполагаю, что это связано с ограничениями OpenAccess в отношении LINQ to SQL.