SQL Server и LINQ в ASP.NET Core - последовательность - PullRequest
0 голосов
/ 30 апреля 2018

У меня проблема с этим SQL. Может я что то не так делаю? У меня нет большого опыта.

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

SqlException

В моем TicketsController в Create[HttpPost] он падает на линии SaveChangesAsync:

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create(TicketCreateEditViewModel ticketModel)
{
        var user = await GetCurrentUserAsync();

        var ticket = ticketModel.Ticket;
        ticket.ProductId = ticketModel.ProductId;
        ticket.Product = await _context.Products.SingleOrDefaultAsync(p => p.ProductId == ticket.ProductId);
        ticket.StatusId = 1;
        ticket.Status = await _context.Statuses.SingleOrDefaultAsync(s => s.StatusId == 1);
        ticket.CreateDate = DateTime.Now;
        ticket.UpdateDate = DateTime.Now;
        ticket.PriorityId = 1;
        ticket.Priority = await _context.Priorities.SingleOrDefaultAsync(s => s.PriorityId == 1);
        ticket.OwnerId = user.Id;
        ticket.Owner = await _context.Users.SingleOrDefaultAsync(u => u.Id == ticket.OwnerId);

        {
            List<FileDetail> fileDetails = await FileUploadHelperExtensions.UploadFileAsync(_hostingEnvironment,
                _context,
                ticket.TicketId,
                Request.Form.Files);
            ticket.FileDetails = fileDetails;
        }

        if (ModelState.IsValid)
        {
            await _userManager.AddToRoleAsync(user, "Owner");
            _context.Tickets.Add(ticket);
            await _context.SaveChangesAsync();
            return RedirectToAction(nameof(Index));
        }

        return View(ticketModel);
}

Может быть, новое обновление в Visual Studio 2017 создало эту проблему?

1 Ответ

0 голосов
/ 30 апреля 2018
            <div class="form-group col-6">
            <label asp-for="Ticket.Product"></label>
            <select asp-for="Ticket.ProductId" asp-items="Model.Products" class="custom-select"></select>
            <span asp-validation-for="Ticket.Product" class="text-danger"></span>
        </div>

На мой взгляд, у меня есть это. И я понял, что ticketModel не содержит мой productId через мое представление.

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