【发布时间】:2021-10-20 10:55:11
【问题描述】:
我有这个简单的模型:
public class Form
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long Id { get; set; }
public string Name { get; set; }
public List<FormField> FormFields { get; } = new List<FormField>();
}
public class FormField
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long Id { get; set; }
public string Name { get; set; }
public string Value { get; set; }
}
还有一个控制器方法:
public IActionResult Post([FromBody] Form item)
{
EntityEntry<Form> entityEntry = Context.Add(item);
ModuleContext.Database.SaveChanges();
return Ok(entityEntry.Entity);
}
当我现在发布类似的内容时:
{
"Name": "Test Name",
"FormFields": [
{
"Name": "Field Name",
"Value": "Field Value"
}
]
}
只设置了表单的Name,但没有创建新的表单域。即使FromBody返回的“项目”也只包含Form.Name,但FormFields是空的。
如何通过 API 创建多个 FormField?
【问题讨论】:
标签: .net entity-framework asp.net-core .net-5 asp.net5