public class Ingredient
{
[BsonId]
public ObjectId IngredientId { get; set; }
public bool IsActive { get; set; }
public List<IngredientSideEffectItem> SideEffects { get; set; }
}
public class IngredientSideEffectItem
{
public ObjectId SideEffectId { get; set; }
public long Counter{ get; set; }
}
public async Task UpdateIngredient(Ingredient s)
{
FilterDefinition<Ingredient> filter =
Builders<Ingredient>.Filter.Eq(l => l.IngredientId, , s.IngredientId);
UpdateDefinition<Ingredient> update =
Builders<Ingredient>.Update
.Set(x => x.SideEffects, s.SideEffects)
.Set(x => x.IsActive,s.IsActive)
UpdateResult result = await db.Ingredients.UpdateOneAsync(filter, update);
}
Я хочу вставить элементы s.SideEffects
в x.SideEffects
. Но если элемент существует в БД - игнорировать; если не существует в db - вставить; и если существует в БД, а не в списке - удалить из БД. Как написать этот запрос?