Lorsque j'appelle context.SaveChanges()
pour mettre à jour un produit spécifique, la mise à jour n'est pas enregistrée dans la base de données. Je n'ai pas d'erreur d'exécution non plus. Tout ce que je remarque, c'est que mon catalogue de produits n'est pas mis à jour. Je vois toujours les mêmes valeurs. Lorsque je lance le débogueur, je remarque que l'état de connexion de la base de données est fermé.context.SaveChanges() ne pas mettre à jour les données dans la base de données SqlServer
C'est la classe qui implémente les context.SaveChanges()
namespace SportsStore.Domain.Concrete
{
public class EFProductRepository : IProductRepository
{
private EFDbContext context = new EFDbContext();
public IQueryable<Product> Products
{
get { return context.Products; }
}
public void SaveProduct(Product product)
{
if (product.ProductID == 0)
{
context.Products.Add(product);
}
context.SaveChanges();
}
}
}
namespace SportsStore.Domain.Concrete
{
public class EFDbContext : DbContext
{
public DbSet<Product> Products { get; set; }
}
}
namespace SportsStore.Domain.Entities
{
public class Product
{
[HiddenInput(DisplayValue=false)]
public int ProductID { get; set; }
public string Name { get; set; }
[DataType(DataType.MultilineText)]
public string Description { get; set; }
public string Category { get; set; }
public decimal Price { get; set; }
}
}