SPMetal не генерирует классы с правильными пользовательскими типами. По умолчанию для всего «Item» - PullRequest
5 голосов
/ 19 мая 2011

Я пытаюсь сгенерировать классы, используя SPMetal, чтобы использовать SPLINQ.Генерация кода не является проблемой, за исключением того, что свойства не введены правильно.

Это часть кода:

[Microsoft.SharePoint.Linq.ListAttribute(Name="Actual Purchase Orders")]
public Microsoft.SharePoint.Linq.EntityList<Item> ActualPurchaseOrders {
    get {
        return this.GetList<Item>("Actual Purchase Orders");
    }
}

Как видите, тип возвращаемого значения определен как Microsoft.SharePoint.Linq.EntityList<Item>,Хотя я бы хотел, чтобы это было Microsoft.SharePoint.Linq.EntityList<ActualPurchaseOrder>.Это один и тот же случай для всех списков и всех свойств для всего списка.Единственными правильно заданными свойствами являются внутренние ресурсы sharepoint, такие как Link, Document, HelpFilesDocument и т. Д.

Я проверил все настройки списка, например, типы контента и т. Д. Не повезло.

Это просто ошибкав моей версии 14.0.4763.1000?

Любая помощь приветствуется.Приветствия.

Ответы [ 2 ]

3 голосов
/ 19 мая 2011

Если ActualPurchaseOrder не является пользовательским типом контента, который вы определили, вам придется переопределить инструмент spmetal файлом XML с параметрами. (http://msdn.microsoft.com/en-us/library/ee535056.aspx)

Я думаю, что эта запись в блоге даст вам хорошие шаги в правильном направлении: http://socialsp.com/2009/12/11/having-fun-with-the-new-linq-to-sharepoint-on-sharepoint-2010-sp2010/

0 голосов
/ 27 августа 2011
public Microsoft.SharePoint.Linq.EntityList<*> ActualPurchaseOrders {

* -> должен быть тип контента для целевого списка, а не Item, который является типом контента по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...