context.SaveChanges()
特定の製品を更新するために呼び出すと、更新がデータベースに登録されません。実行時エラーも発生しません。製品カタログが更新されていないことに気付きました。私はまだ同じ値を見ています。デバッガーを実行すると、データベースの接続状態が閉じていることに気付きました。
これは、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; }
}
}