Linq to SQL для WebMatrix (веб-страницы)

Мне интересно, могу ли я использовать Linq to SQL на своих сайтах на основе веб-матрицы (C#/Razor и т. д.). Я люблю поиск в базе данных и все такое, и было бы здорово, если бы я мог использовать для этого Linq to SQL — или, по крайней мере, возвращать строки в виде набора данных или чего-то еще, а затем linq поверх этого. Возможно ли это с сайтами на основе WebMatrix?

Я ничего не видел о Linq в документации для WebMatrix.


person shane    schedule 16.05.2012    source источник
comment
database.Query() возвращает IEnumerable‹object›, так что весь доступ к .Where().OrderBy().Select... и всем этим забавным вещам. (По всему набору результатов запроса нет отложенных запросов IQueryable)   -  person joeriks    schedule 18.05.2012


Ответы (3)


Вы можете использовать Linq To SQL или Entity Framework с сайтами веб-страниц. Я бы рекомендовал использовать Visual Studio 2010 с пакетом обновления 1 (SP1) или Visual Web Developer 2010 с пакетом обновления 1 (SP1), поскольку они обеспечивают поддержку инструментов для Linq To SQL и Entity Framework. Я написал пару статей о Entity Framework с веб-страницами:

http://www.mikesdotnetting.com/Article/185/Building-A-Razor-Web-Pages-Site-With-Database-First-And-Entity-Framework

http://www.mikesdotnetting.com/Article/182/Entity-Framework-Code-First-Development-With-WebMatrix

Entity Framework — это инструмент ORM от Microsoft, которому уделяется все внимание разработчиков. Хотя LINQ to SQL не совсем «мертвый», он не пользуется такой любовью. Из этих двух, на мой взгляд, лучше всего подходит EF.

person Mike Brind    schedule 18.05.2012

Webmatrix предоставляет собственные интегрированные инструменты обработки данных, эти инструменты не основаны на Linq.

Насколько я знаю, ничто не мешает вам использовать Linq, но для этого вам нужно отказаться от встроенных инструментов. Например, вы не найдете дизайнера данных, работающего с L2S или EF. Однако вы можете сначала использовать код.

person Erik Funkenbusch    schedule 16.05.2012
comment
Да, это круто, я не очень люблю дизайнеров данных — это лишает меня удовольствия! Я немного смущен, хотя и не знаю, с чего мне начать. - person shane; 17.05.2012

Просто добавьте linq вверху:

@using System.Linq;

И после этого ваш запрос:

var selectedDates = db.Query("Select CompleteDate, DueDate FROM Records WHERE Id=@0", ID);

var Date = selectedDates.Select(s => s.CompleteDate).ToArray();  

И это все =D наслаждайтесь

person Kuri    schedule 25.02.2016