我的实体框架使用出现问题,我认为这可能是因为我错误地使用了我的数据库上下文。
我时不时地在我的日志中看到错误消息:“在创建模型时无法使用上下文。”
该错误并不总是发生,并且似乎是在新的应用程序负载上,或者如果我编译我的项目并在编译时刷新浏览器选项卡。
下面的函数是错误的,是从我的母版页调用的。
public static class UserFunctions
{
private static peopleSwimmingContext _db = new peopleSwimming.Models.peopleSwimmingContext();
public static String GetUserRole(Int32 UserID) {
String returnedRole = String.Empty;
var foundUser = _db.Users.Where(w => w.UserId == UserID).FirstOrDefault();
if (foundUser != null)
{
returnedRole = foundUser.Role.Name;
}
return returnedRole;
}
}
任何提示将不胜感激!
哦,这是我的内部堆栈跟踪:
内部堆栈跟踪:
在 System.Data.Entity.Internal.LazyInternalContext.InitializeContext() 在 System.Data.Entity.Internal.InternalContext.Initialize() 在 System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) 在 System.Data.Entity .Internal.Linq.InternalSet 1.Initialize() at System.Data.Entity.Internal.Linq.InternalSet
1.get_InternalContext() 在 System.Data.Entity.Infrastructure.DbQuery1.System.Linq.IQueryable.get_Provider() at System.Linq.Queryable.Where[TSource](IQueryable
1 源,表达式`1 谓词)在 peopleSwimming.Logic.UserFunctions.GetUserRole(Int32 UserID) 在 c:\svn\peopleSwim\peopleSwimming\Logic\UserFunctions.cs:line 18 at peopleSwimming._Home.Page_Load(Object sender, EventArgs e ) 在 c:\svn\peopleSwim\peopleSwimming\Home.aspx.cs:line 25 at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e)在 System.Web.UI.Control.LoadRecursive() 在 System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,布尔 includeStagesAfterAsyncPoint)