В контроллере POAP WebAPI, с EntityFramework, я хочу добавить некоторые новые записи на основе ICollection.Добавить записи в WebAPI через iCollection Model?
Итак, у меня есть модель продуктов. Эта модель имеет ссылку (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?
Что такое тип dbProduct.Colors? Конечно, это должно быть просто упражнением для сопоставления между вашим типом API и типом EF? И ваш параметр цвета выглядит так, будто он должен быть массивом/коллекцией. то есть цвет [] цветов ... – strickt01
dbProduct.Colors - это iCollection. Это определение в модели: public virtual ICollection Colors {get; задавать; } JSON - простой пример. Я держу больше значений, чем просто «цвет». –
brother
Это ошибка, которую показывает VS: Невозможно преобразовать исходный тип «Models.Color» в целевой тип «System.Collections.Generic.ICollection –
brother