#sharepoint-2010
#sharepoint-2010
Вопрос:
Я пытаюсь сгенерировать классы с помощью 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?
Приветствуется любая помощь. Приветствия.
Комментарии:
1. Что вы имеете в виду под «Как вы можете видеть, возвращаемый тип определен как Microsoft. SharePoint.Linq. EntityList. Хотя я бы хотел, чтобы это была Microsoft. SharePoint.Linq. EntityList.» Я не вижу разницы в типах.
2. Спасибо ChristiaanV, я ничего не понял между
<>
поглощением get. Я избежал этого сейчас.
Ответ №1:
Если 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/
Комментарии:
1. Спасибо, я был совершенно не осведомлен о пользовательском ContentType
Ответ №2:
public Microsoft.SharePoint.Linq.EntityList<*> ActualPurchaseOrders {
*
-> должен быть типом контента для целевого списка, а не Item
который является типом контента по умолчанию.
Комментарии:
1. Как это отвечает на вопрос? Это больше похоже на повторное изложение вопроса. Имейте в виду, показанный код сгенерирован SPMetal, и проблема в том, что сгенерированный код неверен.