2
context.SaveChanges()
을 호출하여 특정 제품을 업데이트하면 해당 업데이트가 데이터베이스에 등록되지 않습니다. 런타임 오류도 발생하지 않습니다. 나는 제품 카탈로그가 업데이트되지 않는다는 것을 알아 차렸다. 나는 여전히 같은 가치관을 보았다. 디버거를 실행할 때 데이터베이스의 연결 상태가 닫혔다는 것을 알게되었습니다. context.SaveChanges()가 SqlServer 데이터베이스의 데이터를 업데이트하지 않음
이
, 당신은 변경 사항을 유지하려면 다음 방법 중 하나를 사용할 수 있습니다, 전에SaveProduct
방법에
context.SaveChanges()
메소드를 호출하기
EFProductRepository
클래스에서 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; }
}
}