简体   繁体   English

ASP.NET Core中的SQL Server和LINQ-序列

[英]SQL Server and LINQ in ASP.NET Core - sequence

I have a problem with this SQL. 我对此SQL有问题。 Maybe I am doing something wrong? 也许我做错了什么? I don't have a lot of experience. 我没有很多经验。

When I try to create a new ticket on my web application, I get this: 当我尝试在Web应用程序上创建新票证时,得到以下信息:

SqlException异常

In my TicketsController in Create[HttpPost] it's crashing on the line SaveChangesAsync : 在我的TicketsControllerCreate[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);
}

Maybe new update in Visual Studio 2017 made this problem ? 也许Visual Studio 2017中的新更新导致了此问题?

            <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>

In my view I have this. 我认为我有这个。 And I figured out that ticketModel doesn't contain my productId through my view. 我发现在我的视图中ticketModel不包含我的productId。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM