C# 如何将EF ObjectContext传递给多个函数?
我有一个WPF应用程序,它的表单可以在一次单击保存按钮时更新多个相关表。我想将保存代码放入如下所示的单独函数中 这样行吗?如何在一个ObjectContext和一个SaveChanges调用中实现这一点C# 如何将EF ObjectContext传递给多个函数?,c#,wpf,entity-framework,C#,Wpf,Entity Framework,我有一个WPF应用程序,它的表单可以在一次单击保存按钮时更新多个相关表。我想将保存代码放入如下所示的单独函数中 这样行吗?如何在一个ObjectContext和一个SaveChanges调用中实现这一点 private void SaveEntity() { using (var oContext = new MyEntities()) { SaveEntityInfo();
private void SaveEntity()
{
using (var oContext = new MyEntities())
{
SaveEntityInfo();
SaveOwners();
SavePartners();
SaveOfficers();
SaveDirectors();
oContext.SaveChanges();
}
}
它将进行一些更改。您可以通过以下方式更改代码:
private void SaveEntity()
{
using (var oContext = new MyEntities())
{
SaveEntityInfo(oContext);
SaveOwners(oContext);
SavePartners(oContext);
SaveOfficers(oContext);
SaveDirectors(oContext);
oContext.SaveChanges();
}
}
//One of multiple save methods
private void SaveEntityInfo(MyEntities context)
{
//Add something to context
//Remove something from context
//Update something in context
//But never use context.Save() here
//Let SaveChanges() only calls in your SaveEntity() method
}
需要明确的是,您希望UPDATE语句都在最后运行,还是实际在每个方法中运行?换句话说,“Save”函数是什么样子的?将
oContext
作为参数传递给方法。这里的问题是什么?这就是我过去解决这个问题的方法。