Перемещение запросов SP-Linq с тестового сайта на рабочий сайт - PullRequest
0 голосов
/ 02 декабря 2011

Я вижу статьи об использовании SPMetal для создания файла .cs, который позволяет LINQ работать правильно.Файл, о котором я говорю, наследуется от класса Microsoft.SharePoint.Linq.DataContext.Как я могу использовать LINQ без перекомпиляции в моей производственной среде, поскольку мне нужно будет восстановить этот файл с помощью SPMetal в моей производственной среде?Я подозреваю, что ответ будет "не могу этого сделать".

Я предполагаю, что вместо этого я буду использовать CAML-запрос, если нет более простого способа использовать LINQ, который мне не хватает.

Ответы [ 3 ]

1 голос
/ 07 декабря 2011

Если цель состоит в том, чтобы просто запрашивать списки с помощью LINQ, и вы хотите избежать таких перекомпиляций, не используйте SPMetal.LINQ можно напрямую использовать в SPListItemCollection, например,

 var FindCustomer = from SPListItem Item in Customers.Items
                       where Item["Orders"] as int == 5
                        select Item;

// или выбрать новый {Title = Item ["Title"]}

Это не имеет жестко закодированных объектов, но является более гибким.И пока имена столбцов вашего списка остаются прежними, код можно развернуть в любой среде, даже если другие списки изменяются.Также вы можете выбрать получение нескольких данных выбранного поля вместо того, чтобы извлекать данные всех полей каждый раз.

0 голосов
/ 05 декабря 2011

Я не уверен, что мне не хватает точки, но объект DataContext воспринимает URL-адрес отдельно от конструктора, поэтому вы должны получить URL-адрес из конфигурации где-нибудь, например, в базе данных

DataContext teamSite = new DataContext("http://MarketingServer/SalesTeam");

ИЛИиспользуйте объект SPContext, если ваш код имеет контекст SharePoint.Например, в веб-части

DataContext teamSite = new DataContext(SPContext.Current.Web.Url);
0 голосов
/ 03 декабря 2011

Нет проблем, я думаю.Лично я уже давно пользуюсь Linq.Я никогда не генерировал CS специально для производства.Отличается ли ваш сайт в разных средах?

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