Каждый раз, когда я пытаюсь зарегистрировать новый объект, он возвращается в базу данных пустым или нулевым. Что я должеC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Каждый раз, когда я пытаюсь зарегистрировать новый объект, он возвращается в базу данных пустым или нулевым. Что я долже

Сообщение Anonymous »

Я думаю, что моя модель представления получает значения из пустых полей незагруженной страницы или не получает вообще, а просто получает значения из модели.
Модель просмотра:
namespace Projeto_Vendedores.Models.ViewModels
{
public class SellerFormViewModel
{
public Seller Seller { get; set; }
public ICollection Departments { get; set; }
}
}

Модель:
using Projeto_Vendedores.Migrations;

namespace Projeto_Vendedores.Models
{
public class Seller
{
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public double BaseSalary { get; set; }
public DateTime BirthDate { get; set; }

public Department Department { get; set; }
public int DepartmentId { get; set; }

public ICollection Sales { get; set; } = new List();

public Seller()
{
}

public Seller(int id, string name, string email, double baseSalary, DateTime birhtDate, Department department)
{
Id = id;
Name = name;
Email = email;
BaseSalary = baseSalary;
BirthDate = birhtDate;
Department = department;
}
}
}

Контроллер:
using Microsoft.AspNetCore.Mvc;
using Projeto_Vendedores.Models;
using Projeto_Vendedores.Models.ViewModels;
using Projeto_Vendedores.Services;

namespace Projeto_Vendedores.Controllers
{
public class SellersController : Controller
{
private readonly SellerService _sellerService;
private readonly DepartmentService _departmentService;

public SellersController(SellerService sellerService, DepartmentService departmentService)
{
_sellerService = sellerService;
_departmentService = departmentService;
}

public IActionResult Index()
{
var list = _sellerService.FindAll();
return View(list);
}

public IActionResult Create()
{
var departments = _departmentService.FindAll();
var viewModel = new SellerFormViewModel { Departments = departments };
return View(viewModel);
}

[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Create(Seller obj)
{
_sellerService.Insert(obj);// it just add to the database and save changes
return RedirectToAction(nameof(Index));
}
}
}

Создать форму (POST):
@model Projeto_Vendedores.Models.ViewModels.SellerFormViewModel
@{
ViewData["Title"] = "Create";
}

@ViewData["Title"]

Seller


























Я хочу, чтобы приложение правильно считывало данные, но всякий раз, когда я пытаюсь это сделать, приложение останавливается и показывает исключение, сообщающее, что первое поле записи имеет значение NULL, а также rest.
Исключение:

Microsoft.EntityFrameworkCore.DbUpdateException: произошла ошибка при сохранении изменений сущности. Подробности смотрите во внутреннем исключении.
Внутреннее исключение:
PostgresException: 23502: нулевое значение в столбце «Имя» отношения «Продавец» нарушает ненулевое ограничение

ДЕТАЛИ: Неудачная запись содержит (41, ноль, ноль, 0, 0, -бесконечность).

Исключение возникает в этой строке:
public void Insert(Seller obj)
{
_context.Add(obj);
_context.SaveChanges(); // here
}


Подробнее здесь: https://stackoverflow.com/questions/783 ... e-empty-or
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»