Sitefinity 4 с LINQ на SQL?

#linq #linq-to-sql #sitefinity #sitefinity-4

#linq #linq-to-sql #sitefinity #sitefinity-4

Вопрос:

Возможно ли установить пользовательский модуль Sitefinity 4 с LINQ на SQL вместо OpenAccess? Есть какие-либо рекомендации по этому поводу?

Ответ №1:

Если вы вообще не используете модель контента, но вместо этого имеете в виду, что разработали свой собственный серверный сервер и хотите интегрировать его в Sitefinity, я только что выпустил видео и подкаст о разработке внутрисайтовых модулей в Sitefinity 4:http://bit.ly/lHcOX7

Как и внутрисайтовые модули в 3.x, эти модули используют стандартный asp.net пользовательские элементы управления для администратора и интерфейса. В этом видео показано, как создать простой установщик и деинсталлятор для такого модуля.

Я надеюсь, что это полезно!

Комментарии:

1. да, я только что это увидел. спасибо за видео, Джош 🙂 это действительно помогает мне ускорить процесс

Ответ №2:

Я уверен, что вы уже разобрались с этим, но в настоящее время я работаю с модулем на основе Linq-to-Sql.

Если вы хотите создать элемент управления, который тесно связан с моделью данных SF (т. Е. использует там таблицы), я бы, вероятно, попытался использовать OpenAccess, поскольку в ответе на один из моих вопросов на форуме мне сказали, что использование Linq-to-sql для этого может стать проблематичным.

Поскольку я не хотел использовать встроенные таблицы и использовать свои собственные, мне пришлось скорректировать решения, которые есть в SDK. Так, например, если вы загрузите SDK и посмотрите на модуль intermediete jobs, вам в основном придется скопировать его, но с некоторыми отличиями:

  1. В моем базовом классе поставщика данных реализована база данных, а не база данных ContentDataProviderBase
  2. Мой класс Manager реализовал ManagerBase, а не ContentManagerBase
  3. В моем классе Module реализована база модулей, а не ContentModuleBase
  4. Раздел конфигурации, я думаю, был таким же, только с моими шагами настройки

Мой модуль был относительно простым, поэтому я использовал Linq-to-sql в качестве своей модели и создал Linq2SqlDataProvider, который реализовал базовый класс my data provider.

Вот на что следует обратить внимание: если вы используете viewstate, убедитесь, что вы переключили его на странице, на которой будет находиться ваш элемент управления. Привязка данных была забавной для меня, когда я использовал listview, что означало, что мне пришлось переопределить предварительный просмотр класса SimpleView и привязать его, поскольку это больше нигде не работало.

Надеюсь, это поможет,

Ограбить

Ответ №3:

Sitefinity основан на шаблоне модели поставщика (http://www.sitefinity.com/40/help/developers-guide/deep-dive-provider-model.html ). Просто так получилось, что Sitefinity использует OpenAccess по умолчанию, но на самом деле вы можете внедрять провайдеров любым удобным для вас способом. Вы могли бы написать провайдера, который хранил бы все данные «Новостного модуля», например, в текстовых файлах.

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

Надеется, что это поможет

Комментарии:

1. привет, Иван, да, я знаю, что там сказано, что я могу внедрить другого провайдера. есть ли какой-нибудь образец? кое-что, чему я могу быстро научиться. кстати, приятно познакомиться с вами за пределами форума sitefinity 🙂