我想知道使用語句和創建公共變量之間的最佳方法是什麼。 我的例子如下: 我有一個繼承自一次性的管理器類,並且這個類可以訪問我的dbcontext和它的方法。 我現在正在做的是在我的課堂上爲這個班級做一些事情,並根據我的需要創建和銷燬我的對象。 例如:使用和公共對象之間的最佳方法?
public class StudentManager: IDisposable
{
private ISchoolUnitOfWork _unitOfWork;
public StudentManager()
{
_unitOfWork = new SchoolUnitOfWork();
}
public IEnumerable<Student> GetStudents()
}
在我的CS類我做的:
private IEnumerable<Stundets> GetStudents()
{
using (StudentManager manager = new StudentManager())
{
return = manager.GetStudents();
}
}
OR
private StudentManager = new Studentmanager();
什麼是做到這一點的最好辦法:有我StudentManager的實例(只創建連接並銷燬離開頁面時)或使用using
?
我對此有點困惑。提前致謝!
我在同一個管理器上更新我的上下文,在我的上下文中調用save,這是我工作單元的一個接口,我不直接訪問上下文,但是當我構建它時,我構造一個類型的單元工作。
我確實節省了我在經理人身上的克勞德操作。所以我在更新,插入經理,修改我調用保存方法,例如:
public class StudentManager....
public Student UpdateStudent(Student student)
{
IStudentService service = new StudentService(_unitOfWork.StudentRepository);
Student student= service.Update(student);
_unitOfWork.Save();
return student;
}
一般情況下,我有一個接口IUnitOfWork和的UnitOfWork,也有IRepository和倉庫。而且我只是使用一個經理來直接實例化我的UnitOfWork,但是有一個經理來處理它......我認爲這是合法和有用的!
旁註的頁面,你的生意類不應該擁有存儲庫,也不應該需要IDisposable。但是這隻會改變連接的問題。 –
將上下文保留在私有字段中並將其放置在構造它的類的Dispose()方法中,IMO沒有任何問題。使用塊是try/catch/finally模式的一個快捷方式,它可以確保在完成對象處理時丟棄一次性對象 - 但這僅僅是一種模式,用於確保對象及時處理。此快捷方式的存在不會自動使所有其他模式無法使用。 –