Member 13053943 Ответов: 1

Asp.net веб-API для frondend и backend


у меня есть проект, который я делаю на C# ASP.Net MVC5 как мой бэкэнд, и мой фронтэнд также находится в C#. как я свяжу их для связи.я использую поисковую систему в моем интерфейсе, чтобы получить данные из бэкэнда и SQL server.мне нужны ваши хорошие ответы.
У меня есть 3 стола, студенты, курсы и Student_courses.my бэкэнд работает хорошо, я запутался в том, как использовать интерфейс для запуска запросов для получения результатов.я не могу использовать тот же метод, который использовал на бэкэнде для интерфейса.мне больше не нужен api.запрос для получения результатов мне нужен

Что я уже пробовал:

это мой поисковый вид для переднего конца
@model UniScore.ViewModels.StudentCoursesViewModel

@{

    Layout = "~/Views/Shared/_Layout2.cshtml";
}
<h1 align="center">SEARCH STUDENT</h1>
<br />

<div class="container">
    @using (Html.BeginForm("Search", "Search", FormMethod.Get))
    {
        @Html.AntiForgeryToken()

        <div class="form-horizontal">

            <p>Please type in your Student ID and First Name</p>
            <hr />
            @Html.ValidationSummary(true, "", new { @class = "text-danger" })
            <div class="form-group">
                @Html.LabelFor(model => model.FirstName, htmlAttributes: new { @class = "control-label col-md-2" })
                <div class="col-md-10">
                    @Html.EditorFor(model => model.FirstName, new { htmlAttributes = new { @class = "form-control" } })
                    @Html.ValidationMessageFor(model => model.FirstName, "", new { @class = "text-danger" })
                </div>
            </div>
            <br />
            <div class="form-group">
                @Html.LabelFor(model => model.id_Student, htmlAttributes: new { @class = "control-label col-md-2" })
                <div class="col-md-10">
                    @Html.EditorFor(model => model.id_Student, new { htmlAttributes = new { @class = "form-control" } })
                    @Html.ValidationMessageFor(model => model.id_Student, "", new { @class = "text-danger" })
                </div>
            </div>
            <br />

            <div class="form-group">
                <div class="col-md-offset-2 col-md-10">
                    <input type="submit" value="SearchResults" class="btn btn-default" />
                </div>
            </div>
        </div>

    }
</div>


Студент таблицы(id_student,firstName и lastName),
Таблица курса имеет(id_course, код, название курса)
Student_course таблицы(идентификатор,student_id,идентификатор_курса,Марка,сорт)...теперь каждый студент может делать множество курсов.я не использовать внешние ключи.
Как я могу использовать этот вид для отображения курсов, которые студент проводит в поиске,что LINQ-запрос я буду использовать для отображения значений в контроллер.если вы можете дать мне представление о том, как код в контроллере я буду в порядке.

ZurdoDev

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

Member 13053943

Да, сэр, все они должны иметь доступ к одной и той же базе данных.должен ли я создать контроллер, чтобы заботиться о поисковых объектах для внешнего интерфейса?точно так же, как я сделал это для бэкенда, я использовал linq для поиска и сортировки списка.на этот раз с помощью поиска в интерфейсе я буду искать по идентификатору и имени студента

ZurdoDev

Есть ли какая-то причина, по которой они оба не могут получить прямой доступ к базе данных?

Member 13053943

они могут,каково ваше лучшее предложение по этому вопросу,может быть, мне действительно не нужен api,скажите мне, что делать

ZurdoDev

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

Вы можете создать библиотеку dll, которая находится в качестве уровня доступа к данным, или просто получить доступ к БД непосредственно через оба приложения. Все зависит от того, что вы хотите сделать.

1 Ответов

Рейтинг:
2

kumar nitesh

You don't have to run any query from UI side. If your queries to find one student's all courses at API side working fine then create an API which will take a parameter which is required to run your query like searchText and studentId and return list of courses selected by that student . Your API is done now call it from UI application using jquery ajax and populate it to your html view page .
Your search application on 3rd party data is ready to use .