Моя панель просмотра правильно отображает значения в представлении, но когда вызывается элемент управления созданием, значения равны нулю, поэтому, поскольку эти значения являются внешними ключами в другой таблице, я получаю исключение:
SqlException: оператор INSERT конфликтует с ограничением FOREIGN KEY> "FK_dbo.INFO_APONTAMENTO_dbo.BARCO_Barco_Id". Конфликт> произошел в базе данных «RVEIO», таблица «dbo.BARCO», столбец «Id».
Вот код:
public ActionResult Create()
{
ViewBag.SubCodigos = new SelectList(_subCodigosOperacionaisRepository.GetAll(), "Id", "Codigo");
ViewBag.Codigos = new SelectList(_codigosOperacionaisService.GetAll(), "Id", "Codigo");
ViewBag.LocalDaOperacao = new SelectList(_localDaOperacaoAppService.GetAll(), "Id", "Nome");
ViewBag.Barcos = new SelectList(_barcoRepository.GetAll(), "Id", "Nome");
return View();
}
[HttpPost]
public ActionResult Create(ApontamentoViewModel apontamentoViewModel)
{
if (!ModelState.IsValid)
{
return View(apontamentoViewModel);
}
ViewBag.Codigos = new SelectList(_codigosOperacionaisService.GetAll(), "Id", "Codigo", apontamentoViewModel.InfoApontamento.CodigosDeOperacao_Id);
ViewBag.SubCodigos = new SelectList(_subCodigosOperacionaisRepository.GetAll(), "Id", "Codigo", apontamentoViewModel.InfoApontamento.SubCodigosDeOperacao_Id);
ViewBag.LocalDaOperacao = new SelectList(_localDaOperacaoAppService.GetAll(), "Id", "Nome", apontamentoViewModel.InfoApontamento.LocalDaOperacao_Id);
ViewBag.Barcos = new SelectList(_barcoRepository.GetAll(), "Id", "Nome", apontamentoViewModel.InfoApontamento.Barco_Id);
var apontamento = _apontamentoAppService.Add(apontamentoViewModel);
}
Когда
var apontamento = _apontamentoAppService.Add(apontamentoViewModel);
вызывается, значение равно нулю
My View:
<div class="col-md-10">
@Html.DropDownList("Codigos", String.Empty)
@Html.DropDownList("SubCodigos", String.Empty)
@Html.DropDownList("LocalDaOperacao", String.Empty)
@Html.DropDownList("Barcos", String.Empty)
</div>