I have models for Vendor and Ingredient, they can see each other. I have a list of ingredients and I need to add it somehow to vendor. Can't understand how to do it.
public void AddIngredientsToVendor(VendorIngredientsRegistrationModel model)
{
// Ingredients, that I want to add to wendor, Ids: [57, 59, 61, 62]
List<Ingredient> ingredients = _repository.Fetch<Ingredient>(e => model.IngredientIds.Contains(e.Id),
e => e.Include(p => p.VendorIngredients)).ToList();
var vendor = _repository.First<Vendor>(
(e => e.Id == model.VendorId),
e => e.Include(m => m.Ingredients));
// How to add ingredients to Vendor?
_repository.Update(vendor);
_repository.SaveChanges();
}
VendorIngredient.cs
public class VendorIngredient
{
[ForeignKey(nameof(VendorId))]
public Vendor Vendor { get; set; }
public long VendorId { get; set; }
[ForeignKey(nameof(IngredientId))]
public Ingredient Ingredient { get; set; }
public long IngredientId { get; set; }
}
Vendor.cs
public class Vendor : BaseNetworkLinkedEntity
{
public Vendor()
{
Ingredients = new List<VendorIngredient>();
}
[MaxLength(150)]
public string VendorCompanyName { get; set; }
public ICollection<VendorIngredient> Ingredients { get; set; }
}