Указанный актер неверен, запрашивая Sharepoint - PullRequest
0 голосов
/ 09 ноября 2010

Используя SPMETAL, я создал файл C #, позволяющий использовать LINQ для доступа к объектам Sharepoint.

Однако использование очень простого запроса приводит к странной ошибке:

Указанный состав недействителен.

Трассировка стека:
в Set__zleceniaTrigger (объект, объект) в Microsoft.SharePoint.Linq.StaticPropertyMap.SetToEntity (сущность объекта, значение объекта) в Microsoft.SharePoint.Linq.SPItemMappingInfo.MaterializeEntity [TEntity] (DataContext dc, список SPDataList, элемент SPListItem, элемент SPItemMappingInfo, элемент MappingInfo, JoinPath joinPath) в lambda_method (ExecutionScope, SPListItem) в System.Linq.Enumerable.WhereSelectEnumerableIterator 2.MoveNext() at System.Collections.Generic.List 1..ctor (источник IEnumerable 1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable 1) в QuickModify.Program.Main (String [] args) в C: \ XXXXXXXXX \ QuickModify \ Program.cs: строка 42 в System.AppDomain._nExecuteAssembly (сборка сборки, аргументы String []) в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly () в System.Threading.ExecutionContext.Run (ExecutionContext executeContext, обратный вызов ContextCallback, состояние объекта) в System.Threading.ThreadHelper.ThreadStart ()

Сам запрос выглядит так:

SPEntitiesDataContext ctx = new SPEntitiesDataContext("http://localhost:1080");  
var tasks = ctx.Zlecenia.ToList();

Конечно, это не самый оптимальный запрос, но тот, который использует. Где фильтровать только необходимые записи, также возвращает ту же ошибку.

Я обнаружил, что могу выбирать определенные столбцы, используя .Select(z => new ZlecenieItem(){ ColumnName = z.ColumnName, ... }), однако я не могу использовать это для выбора столбцов поиска, так как тогда я получаю следующую ошибку (даже если я выбираю только один столбец таким образом):

В запросе используются неподдерживаемые элементы, такие как ссылки на несколько списков или проекция полной сущности с использованием EntityRef / EntitySet.

Это проблематично, потому что иногда мне нужно получать значения из других списков, и было бы неплохо использовать значения поиска.

Я только что нашел свою первую настоящую ошибку в продукте MS, или (что кажется более вероятным) я что-то делаю не так?

1 Ответ

1 голос
/ 25 ноября 2010

Хотя я до сих пор не уверен, почему вышеперечисленное не сработало, мне удалось решить эту проблему, добавив в SPmetal файл пользовательской конфигурации для генерации ссылки.

Это предполагает, что конфигурация SPmetal по умолчанию может не всегда работать.

...