Веб-страницы ASP.NET преобразовывают простой SQL Select в Razor 2.2 - PullRequest
0 голосов
/ 17 декабря 2018

Мне нужны отзывы от опытных веб-программистов ASP.NET Razor.Я достаточно опытен в Visual Studio на стороне базы данных, но, очевидно, мои навыки веб-программирования устарели на 8 лет по результатам Google.Я хочу преобразовать базовый код ASP.NET Web Pages в новый ASP.NET Razor Pages 2.2, но, похоже, мне придется создавать модели, контроллеры и представления.Это может быть единственный путь, но мне трудно поверить, что Microsoft сделает что-то простое, например, веб-страницы ASP.NET, намного сложнее с Razor.

Я написал очень простой код ниже, так как я могу расширить ваш ответ, но у меня будет три SQL-соединения на моей странице Razor, и представление базы данных, из которого я берусь, уже имеет 6 внешних ключей, соединенных вбазы данных, поэтому возможности скаффолдинга вызывают путаницу в представлениях, когда я использую предварительно созданные страницы Razor.Мой проект доступен только для чтения из базы данных, поэтому функции CRUD не нужны.

Вот как просто я выполнил эту задачу в старом программном обеспечении Microsoft Web Pages.Есть ли такой же простой способ воспроизвести следующий результат в Razor Pages, или мне нужно будет использовать встроенные функции MVC Razor 2.2?

@using WebMatrix.Data
@using System.Data.SqlClient
@{
    var DB = Database.Open("WebConfigDBName");
}
<html>
<body>
    @{
        var result = DB.Query("SELECT A.columnA AS columnA, B.columnB AS columnB from TableAName AS A LEFT OUTER JOIN TableBName AS B ON A.id = B.id");
    }
    <table>
        <tr>
            <th>columnA</th>
            <th>columnB</th>
        </tr>
        @foreach (var row in result)
        {
            <tr>
                <td>@row.columnA</td>
                <td>@row.columnB</td>
            </tr>
        }
    </table>
</body>
</html>
@{
    DB.Close();
}

1 Ответ

0 голосов
/ 15 января 2019

Обновление - я не нашел простого ответа на свой вопрос, поэтому я потратил минуту, чтобы обновить этот пост.Единственная помощь, которая облегчила жизнь, была команда PowerShell «Scaffold-DbContext» в следующей заметке Microsoft;нашел в разделе Обратный инженер вашу модель:

https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db?view=aspnetcore-2.2

Эта команда Scaffold-DbContext разработала модели для меня, которые сохранили большую часть работы.После того, как модели были созданы, я смог построить страницы CRUD в ASP.NET CORE 2.2 (шаги описаны в той же заметке MS), а затем написал множество модификаций, так как я построил сайт вокруг 12 существующих таблиц SQL Server.Я закончил редактировать каждую модель и ее контекст в дополнение к редактированию большинства всех строительных лесов, так что мой код теперь полностью настраиваемый.

Я пытаюсь обучить кого-то, кто ничего не знает о ASP.NET CORE, поэтому я по-прежнему открыт для ответов, если кто-то найдет более простое решение.

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