求助看下面的代码片段。
我在更新表时遇到问题,代码没有显示错误但是没有按预期运行,它没有在日志表中放置任何信息。
一些explenation,我在LogID上有一个名为User with a FK的表,在LogID上有一个名为Log with PK的表,所以它应该是正确的,Log有一个名为TimesLoggedIn的列和一个名为LastLogedin的列。我想相应地更新它们。
User logid = db.Users.Single(p => p.UserID == loginID);
logid.Log.LastLogedin= DateTime.UtcNow;
if (logid.Log.TimesLoggedIn == null)
{
logid.Log.TimesLoggedIn = 1;
}
else
{
logid.Log.TimesLoggedIn = logid.Log.TimesLoggedIn + 1;
}
db.SubmitChanges();
我的代码中有一个令人尴尬的错误,我有
Response.Redirect("ControlPanel");
在我运行LINQ之前放置。
答案 0 :(得分:1)
我正在使用实体框架,所以我可能错了。但也许根本没有加载日志。
试试这个:
var options = New DataLoadOptions();
options.LoadWith<Users>(x => x.Log);
db.LoadOptions = options;
// then your code:
User logid = db.Users.Single(p => p.UserID == loginID);
logid.Log.LastLogedin= DateTime.UtcNow;
....