C# 如何在Ado.net实体框架中使用SaveChanges()方法?

C# 如何在Ado.net实体框架中使用SaveChanges()方法?,c#,entity-framework,ado.net,C#,Entity Framework,Ado.net,我设置了IDataContext,当我为实体创建数据类时,我从IDataContext继承它 IDataContext接口有4种方法 IQueryable<T> GetAll(); T GetById(long id); void Add(T entity); void Delete(T entity); void Save(T entity); 我的意思是这两种方法可以是广义的或者其他的 我的问题是如何以及在哪里使用这两种方法 实体的每个数据类的内部 或者另一种使用方法 删除对

我设置了IDataContext,当我为实体创建数据类时,我从IDataContext继承它

IDataContext接口有4种方法

IQueryable<T> GetAll();
T GetById(long id);
void Add(T entity);
void Delete(T entity);
void Save(T entity);
我的意思是这两种方法可以是广义的或者其他的

我的问题是如何以及在哪里使用这两种方法

  • 实体的每个数据类的内部
  • 或者另一种使用方法

删除对象用于从存储中删除对象。如上所述调用DeleteObject会将对象标记为已删除。对SaveChanges()的调用实际上将该更改提交到数据库。这两者都是从存储中删除对象所必需的。

DeleteObject用于从存储中删除对象。如上所述调用DeleteObject会将对象标记为已删除。对SaveChanges()的调用实际上将该更改提交到数据库。这两者都是从存储中删除对象所必需的。

您可以使用存储库模式抽象出框架的细节。以下是实体框架的IRepository示例。至于在何处调用实际的删除和保存,您的控制器/演示者可能是一个候选对象。

您可以使用存储库模式抽象出框架的细节。以下是实体框架的IRepository示例。至于在何处调用实际的删除和保存,您的控制器/演示者可能是一个候选对象。

这是什么
IDataContext
?它似乎不是EF的标准部分。这是什么
IDataContext
?这似乎不是EF的标准部分。谢谢你的回答,但这不是我想要的。请看一下艾丹的回答对不起,误解了你的问题。Aidan是对的,存储库模式是包装和整合EF的好方法。这是另一篇关于这方面的好文章:谢谢你的回答,但这不是我想要的。请看一下艾丹的回答对不起,误解了你的问题。Aidan是对的,存储库模式是包装和整合EF的好方法。下面是关于这方面的另一篇好文章:
FooEntities db = new FooEntities();

db.DeleteObject(Foo entity);
// or save changes method
db.SaveChanges();