如何使用其所有关系数据存储数据值

时间:2015-08-22 09:12:47

标签: c# linq

我的数据库应用程序包含许多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没有处置?我的方法在开始时出错了吗?

感谢您阅读我的问题并抱歉我的英语。

0 个答案:

没有答案