如果模型包含包含和外键,则创建方法 ModelState 在 ASP.NET Core 8 应用程序中无效

问题描述 投票:0回答:1

我有一个应用程序 asp .core 8 MVC 我的问题是 在创建方法 ModelState 中无效 错误消息是 “conturi_sintetice 是必填字段”

我有一个应用程序 asp .core 8 MVC 我的问题是创建方法 ModelState 无效,错误消息是“is required field conturi_sintetice”

 public class rjd
    {
        [Key]
        public int id_registru_jurnal { get; set; }

        public DateTime data { get; set; }

        public string nr_document { get; set; }

        [ForeignKey("conturi_sintetice")]
        public int id_CS_debitor { get; set; }       
     
        public decimal debit { get; set; }

        public decimal credit { get; set; }

        public  conturi_sintetice conturi_sintetice { get; set; }            
    }

  public class conturi_sintetice
  {     
      [Key]
      public int id_cont_sintetic { get; set; }

      public  string  explicatie_nr_cont_sintetic { get; set; }
  }

在控制器的方法Create中是

public async Task<IActionResult> Create([Bind("id_registru_jurnal,data,nr_document,id_CS_debitor,debit,credit")] rjd rjd)
{
    if (ModelState.IsValid)
    {       
        _context.Add(rjd);
        await _context.SaveChangesAsync();
        return RedirectToAction(nameof(Index));
    }

    ViewData["id_CS_debitor"] = new SelectList(_context.Set<conturi_sintetice>(), "id_cont_sintetic", "id_cont_sintetic", rjd.id_CS_debitor);
    return View(rjd);
}

视图创建是

<form asp-action="Create">
    <div asp-validation-summary="ModelOnly" class="text-danger"></div>

  ......
  
 <div class="form-group">
    <label asp-for="id_CS_debitor" class="control-label"></label>
    <select asp-for="id_CS_debitor" class="form-control" asp-items="ViewBag.id_CS_debitor"></select>
</div>
 
  .......

    <div class="form-group">
        <input type="submit" value="Create" class="btn btn-primary" />
    </div>
</form>

我有一个应用程序 asp .core 8 MVC 我的问题是创建方法 ModelState 无效,错误消息是“is required field conturi_sintetice”

asp.net-core model key modelstate
1个回答
0
投票

尝试使用

[NotMapped]
属性,它可以帮助我们解决问题。

Using System.ComponentModel.DataAnnotations.Schema;

public class rjd{
    ...
    [NotMapped]
    public conturi_sintetice conturi_sintetice { get; set; }   
}
© www.soinside.com 2019 - 2024. All rights reserved.