在WebAPI POST控制器中,使用EntityFramework,我想基于ICollection添加一些新记录。
所以,我有一个产品模型。此模型具有模型颜色的参考(ICollection)。 我有一个POST控制器,应该能够添加一个或多个绑定到产品的颜色。
我有以下代码:
public async Task<IHttpActionResult> PostProduct(string InternalReferenceId, int SupplierId, Colors colors)
{
Product dbProduct = db.Products.FirstOrDefault(s => s.InternalReferenceId == InternalReferenceId && s.SupplierId == SupplierId);
if (dbProduct != null)
{
// iCollection
dbProduct.Colors = colors;
await db.SaveChangesAsync();
}
else
{
return NotFound();
}
return Ok();
}
JSON看起来像这样;
{
"color": "white"
},
{
"color": "black"
},
{
"color": "green"
}
关于我如何将dbProduct.Colors
分配给颜色的内容/模型(JSON?)的任何想法?
答案 0 :(得分:0)
您正在尝试将单个项目Models.Color
)分配给集合(ICollection<Models.Color>
)。因此,您需要更改API以接受Models.Color
:
public async Task<IHttpActionResult> PostProduct(string InternalReferenceId, int SupplierId, ICollection<Color> colors)