Quiero insertar una ProductPhoto dentro del Producto usando LINQ. Aquí está mi modelo:
public class Product { public string Id { get; set; } public string Name { get; set; } public string Detail { get; set; } public List<ProductPhoto> ProductPhotos { get; set; } } public class ProductPhoto { public string Id { get; set; } public string Url { get; set; } }¿Cómo puedo lograr esto con la consulta LINQ? Estoy esperando que el resultado sea algo como esto.
{ _id: ObjectId('602d2149e773f2a3990b47f5'), Name: 'Some name', Detail: 'Some description', ProductPhotos: [ { _id: ObjectId('602d2149e773f2a3990b47f5'), Url: 'Some URL' } ] }La próxima vez que agregue una nueva ProductPhoto, habrá dos elementos.
¡Gracias!
Aquí está la solución a una pregunta similar:
Puedes lograr esto con algo como esto:
var filterBuilder = Builders<Product>.Filter; var filter = filterBuilder.Eq(x => x.Id, productId); var updateBuilder = Builders<Product>.Update; var update = updateBuilder.Push(doc => doc.ProductPhotos, productPhoto); Products.UpdateOneAsync(filter, update);