Я работал над созданием API для CRUD некоторых таблиц из базы данных.Я сделал функциональность для добавления только одного Ингредиента за раз, и теперь я пытался выяснить, как создать метод для добавления нескольких Ингредиентов за раз.
Ниже приведен класс моделей для ингредиентов.( RecipeIngredient.cs )
public class RecipeIngredient
{
public int id { get; set; }
public int recipeId { get; set; }
public string displayName { get; set; }
public float amount { get; set; }
public int recipeIngredientUnitId { get; set; }
public int productId { get; set; }
public int displayOrder { get; set; }
public string ingredientGroup { get; set; }
public int virtualProductId { get; set; }
public RecipeIngredient(int id, int recipeId, string displayName, float amount, int recipeIngredientUnitId, int productId, int displayOrder, string ingredientGroup, int virtualProductId)
{
this.id = id;
this.recipeId = recipeId;
this.displayName = displayName;
this.amount = amount;
this.recipeIngredientUnitId = recipeIngredientUnitId;
this.productId = productId;
this.displayOrder = displayOrder;
this.ingredientGroup = ingredientGroup;
this.virtualProductId = virtualProductId;
}
И это RecipeIngredientController.cs
[Route("v1/recipeIngredient")]
[HttpPost()]
public IActionResult AddIngredient([FromBody]RecipeIngredient ingredient)
{
var productId = 1;
var displayOrder = 1;
var virtualProductId = 1;
var ingredientGroup = "TBA";
try
{
if (ingredient == null) throw new ArgumentException("No data specified");
using (var con = _connFactory())
{
con.Open();
con.Execute("INSERT INTO dbo.RecipeIngredient (Id, RecipeId, DisplayName, Amount, RecipeIngredientUnitId, ProductId, DisplayOrder, IngredientGroup, VirtualProductId) " +
"VALUES ((SELECT MAX(ID) + 1 FROM dbo.RecipeIngredient), @recipeId, @displayName, @amount, @recipeIngredientUnitId, @productId, @displayOrder, @ingredientGroup, @virtualProductId)",
new
{
//ingredient.id,
ingredient.recipeId,
ingredient.displayName,
ingredient.amount,
ingredient.recipeIngredientUnitId,
productId,
displayOrder,
ingredientGroup,
virtualProductId
});
}
return Ok(ingredient);
}
catch (Exception exc)
{
return BadRequest();
}
}
Как изменить класс модели /(повторно) написать мой метод POST, чтобы иметь возможность добавлять несколько объектов RecipeIngredient одновременно в базу данных?