我正在使用NopCommerce。我創建了一個名爲「ProductViewDetails」的新表。我試圖在此表中插入/更新記錄。當我試圖在表中插入新記錄時,新記錄插入成功。但是當我試圖更新操作,方法「更新數據」成功執行,但記錄沒有更新。NopCommerce中的更新操作問題?
代碼:
public void IncremementViews(int productId)
{
ProductViewDetails ProductDetails = new ProductViewDetails();
ProductDetails.Id = 5;
ProductDetails.ProductId = 1;
ProductDetails.NumberOfViews = 10;
UpdateData(ProductDetails);
}
public void UpdateData(ProductViewDetails productDetails)
{
_productViewDetails.Update(productDetails);
}
更新方法代碼:
public partial class EfRepository<T> : IRepository<T> where T : BaseEntity
{
private readonly IDbContext _context;
private IDbSet<T> _entities;
public void Update(T entity)
{
try
{
if (entity == null)
throw new ArgumentNullException("entity");
this._context.SaveChanges();
}
catch (DbEntityValidationException dbEx)
{
var msg = string.Empty;
foreach (var validationErrors in dbEx.EntityValidationErrors)
foreach (var validationError in validationErrors.ValidationErrors)
msg += Environment.NewLine + string.Format("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
var fail = new Exception(msg, dbEx);
//Debug.WriteLine(fail.Message, fail);
throw fail;
}
}
}
問題是什麼?
我們需要知道的是在_productViewDetails什麼代碼。更新(產品詳細); – AndyMcKenna
是你的Id PK和autocincrement ?,它應該是,如果是的話,如何更新Id然後 –
我已經將PK設置爲Id,並且在ProductDetails表中也啓用了自動遞增屬性。但是在調用之後仍然沒有更新記錄UpdateData方法。 – Tushar