我设置了一个IDataContext,当我为一个实体创建一个数据类时,我从IDataContext继承它。
IDataContext接口有4种方法。
IQueryable<T> GetAll();
T GetById(long id);
void Add(T entity);
void Delete(T entity);
void Save(T entity);
如您所知,删除和保存方法具有此结构;
FooEntities db = new FooEntities();
db.DeleteObject(Foo entity);
// or save changes method
db.SaveChanges();
我的意思是这两种方法可以概括或类似......
我的问题是你如何以及在哪里使用这两种方法。
答案 0 :(得分:1)
您可以使用Repository模式抽象出框架的细节。这是实体框架的example implementation IRepository。至于调用实际删除和保存的位置,您的Controller / Presenter可能是候选者。
答案 1 :(得分:0)
DeleteObject用于从商店中删除对象。如上所述调用DeleteObject 将对象标记为已删除。对SaveChanges()的调用实际上会将更改提交到数据库。两者都是从商店中删除对象所必需的。