我想知道使用语句和创建公共变量之间的最佳方法是什么.我的例子如下:我有一个继承自一次性的经理类,这个类可以访问我的dbcontext和方法.我现在正在做的是在我的cs类上对该类进行操作,并根据我的需要创建和销毁我的对象.例如:
public class StudentManager: IDisposable
{
private ISchoolUnitOfWork _unitOfWork;
public StudentManager()
{
_unitOfWork = new SchoolUnitOfWork();
}
public IEnumerable<Student> GetStudents()
}
Run Code Online (Sandbox Code Playgroud)
在我的cs课上,我做了:
private IEnumerable<Stundets> GetStudents()
{
using (StudentManager manager = new StudentManager())
{
return = manager.GetStudents();
}
}
Run Code Online (Sandbox Code Playgroud)
要么
private StudentManager = new Studentmanager();
Run Code Online (Sandbox Code Playgroud)
最好的方法是什么:拥有我的StudentManager实例(只是创建连接并在离开页面时销毁)或使用using?
我有点困惑.提前致谢!
我在同一个管理器上更新我的上下文,在我的上下文中调用save,这是我的工作单元的接口,我不直接访问上下文,但是当我构造它时,我构造了一个类型我的工作单元.
我确实节省了对经理的粗暴操作.所以在我的经理上更新,插入,修改我调用save方法,例如:
public class StudentManager....
public Student UpdateStudent(Student student)
{
IStudentService service = new StudentService(_unitOfWork.StudentRepository);
Student student= service.Update(student);
_unitOfWork.Save();
return student;
}
Run Code Online (Sandbox Code Playgroud)
一般来说,我有一个接口IUnitOfWork和一个UnitOfWork,也有一个IRepository和一个存储库.我只是使用一个管理器来直接实例化我的UnitOfWork,但是有一个管理员......我认为这是合法且有用的!
最好的方法是using声明,因为它会Dispose自动调用。你可以保证你的处置逻辑会发生。事实上,这也是您应该如何使用SqlConnection和SqlCommand等对象的方式。所以你用using.
事实上,您声明您正在使用 aDbContext来访问数据。这些应该根据需要实例化并包装在 a 中using。不需要共享这些类型的类的实例,因为连接池是通过连接字符串在 SQL Server 上完成的。
| 归档时间: |
|
| 查看次数: |
152 次 |
| 最近记录: |