[英]static classes for database access?
我正在使用DataClassesDataContext将db中的所有表映射到我的asp.net应用程序中。
为了进行CRUD操作,我使用方法创建了静态类,并在每个方法中实例化了DataClassesDataContext。
例如:
public static class UserQ
{
public static User getUserById(int userId)
{
DataClassesDataContext db = new DataClassesDataContext();
var requestedUser = (from u in db.Users
where u.User_id == userId
select u).First();
if (requestedUser != null)
return (User)requestedUser;
else
return null;
}
}
我不确定这种在Web应用程序中执行数据库操作的方式是否安全? 如果没有,你能建议一个更好的模式吗?
由于DataClassesDataContext实现了IDisposable
,您应该使用using指令包装它:
using (DataClassesDataContext db = new DataClassesDataContext())
{
...
}
在Web应用程序中使用STATIC我会非常小心。 有时错误是如此微妙,你将花费大量时间调试。
我认为bnkdev和Oded击中头部:查看存储库模式并在using语句中包装您的上下文调用...
HTH。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.