Есть ли в Web Matrix (или ASP.NET Web Pages) встроенный ORM? - PullRequest
1 голос
/ 27 ноября 2011

То, что я знаю о веб-разработке, я могу рассчитывать с одной стороны.Стремясь изменить это, я начал просматривать веб-страницы asp.net, поскольку эта технология, по-видимому, имеет низкий технический барьер для входа и, на мой взгляд, приятно сидит над простым HTML.

IПрорабатывал некоторые образцы, и что-то привлекло мое внимание.Чтобы создать соединение и запросить базу данных, вы просто должны сделать это:

@{
  var database = Database.Open("deanvmc");
  var sqlQuery = "SELECT * FROM Articles";
  var data = database.Query(sqlQuery);
}

После этого я, кажется, могу получить доступ к данным строки из возвращенной таблицы следующим образом:

@foreach(var row in data)
{
    <article>
        <h3>@row.Heading</h3>
        <nav>
            <ul>
                <li>@row.DatePosted</li>
                <li>@row.Category</li>
                <li>0 Comments</li>
            </ul>
        </nav>
        <p>@row.SubHeading</p>
    </article>
}

Это ORM на работе?Правильно ли предположить, что объект, содержащийся в строке, всегда будет отображаться в столбцы, возвращаемые из sqlQuery?

Кроме того, это функция webmatrix как стека или веб-страниц asp.net как библиотеки?Я немного озадачен тем, где заканчивается один, а начинается другой.

1 Ответ

2 голосов
/ 28 ноября 2011

Приведенный выше код не использует ORM - это просто отображение полей, возвращаемых из представления базы данных, в объект строки, возвращаемый вашим запросом.Таким образом, ваше предположение верно - все свойства объекта сопоставляются со столбцами, возвращаемыми из запроса.

Сам по себе WebMatrix - это просто инструмент веб-разработки - он предоставляет редактор, шаблоны и другие инструменты типа dev.Используемые вами библиотеки (веб-страницы ASP.NET с Razor & C #) - это стек, поверх которого создается ваше приложение.WebMatrix также поддерживает не технологии .NET, такие как PHP, и может поддерживать больше в будущем.

Я знаю, что это было что-то вроде открытого конца, но, надеюсь, мне помогли.Удачного кодирования!

...