我使用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应用程序中执行数据库操作的方式是否安全? 如果没有,你能建议一个更好的模式吗?
答案 0 :(得分:2)
当DataClassesDataContext实现IDisposable
时,你应该用using指令包装它:
using (DataClassesDataContext db = new DataClassesDataContext())
{
...
}
答案 1 :(得分:1)
答案 2 :(得分:1)
我会非常小心在Web应用程序中使用STATIC。有时错误是如此微妙,以至于你会花很多时间调试。
我认为bnkdev& Oded击中头部的钉子:看看存储库模式&将您的上下文调用包装在using语句中......
HTH。