幫我解決這個問題,我真的很困惑!通過實體框架更新
我只想更新一些東西!這是我的控制器(POST操作):
[HttpPost]
public ActionResult Edit(CategoryViewModel categoryViewModel)
{
if(ModelState.IsValid)
{
_categoryService.UpdateCategory(categoryViewModel.Id);
}
return View();
}
,這是我的服務類(我的問題是關於這一類的,我不知道如何更新)
public CategoryViewModel UpdateCategory(Guid categoryId)
{
var category = _unitOfWork.CategoryRepository.FindBy(categoryId);
var categoryViewModel = category.ConvertToCategoryViewModel();
_unitOfWork.CategoryRepository.Update(category);
_unitOfWork.SaveChanges();
return categoryViewModel;
}
最後我基礎信息庫是這樣的:
private readonly DbSet<T> _entitySet;
public void Update(T entity)
{
_entitySet.Attach(entity);
}
也是我UnitOfWork
是這樣的:
public class UnitOfWork : IUnitOfWork
{
private IRepository<Category> _categoryRepository;
public IRepository<Category> CategoryRepository
{
get { return _categoryRepository ?? (_categoryRepository = new Repository<Category>(_statosContext)); }
}
}
更新'category'對象屬性的代碼在哪裏? – 2013-02-20 16:23:07
另外,我推測你的'_unitOfWork'變量是'DbContext'或'ObjectContext'派生的對象。真的嗎?如果不是,你的'SaveChanges'函數的主體是什麼? – 2013-02-20 16:26:25
是的,我的_UnitOfWork variabel ID DbCotext,但我的麻煩是在服務類,基本上我有問題的算法,儘管我編輯我的問題也與我的UnitOfwork – 2013-02-20 16:30:27