我的数据库应用程序包含许多User
,每个都属于Company
。当User
登录我的应用时,我会将其帐户存储在变量中,以便稍后进行以下工作:
在我的公共类clsUser
中声明变量:
public static MyContext.tblUser loggedInUser = null;
当用户登录时,检查记录条件是否符合并存储其帐户:
MyContext db = new Database.MyContext(MyConnectionString);
if (db.DatabaseExists())
{
tblUser _User = db.tblUsers.Where(a => ...).FirstOrDefault();
if (NguoiDung == null)
{
MessageBox.Show("Bad user name or password.");
db.Dispose();
}
else
{
clsUser.loggedInUser = db.tblUsers.Where(a => ...).FirstOrDefault();
//I don't call Dispose the Context which I should here
}
}
else
{
MessageBox.Show("Can not connect.");
db.Dispose();
}
然后我可以打电话
string CompanyName = clsUser.loggedInUser.tblCompany.fldName;
问题是我只能在Dispose
Context
(或using (MyContext db = new MyContext(MyConnectionString)) { Above codes here }
)
所以我的问题是,是否有其他解决方案,而不保持Context
没有处置?我的方法在开始时出错了吗?
感谢您阅读我的问题并抱歉我的英语。