У меня возникла проблема с использованием моей инфраструктуры сущностей и думаю, что это может быть из-за неправильного использования моего контекста БД.Контекст не может использоваться во время создания модели
Время от времени я вижу сообщения об ошибках в своем журнале: «Контекст не может использоваться во время создания модели».
Ошибка не всегда возникает и, кажется, находится на новой загрузке приложения или если я скомпилирую свой проект и обновляю вкладку браузера во время ее компиляции.
Функция, приведенная ниже, является ошибкой и вызывается с моей главной страницы.
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;
}
}
Любые советы будут оценены по весу!
О, и вот мой innerstack след:
Внутренний Трассировка стека:
на System.Data.Entity.Internal.LazyInternalContext.InitializeContext() в System.Data.Entity.Internal.InternalContext.Initialize() в System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType (тип entityType) в System.Data.Entity.Internal.Linq.InternalSet 1.Initialize() at System.Data.Entity.Internal.Linq.InternalSet
1.get_InternalContext() в System.Data.Entity.Infrastructure.DbQuery 1.System.Linq.IQueryable.get_Provider() at System.Linq.Queryable.Where[TSource](IQueryable
1 источник, Предикат Expression`1) в peopleSwimming.Logic.UserFunctions.GetUserRole (Int32 UserID) в c: \ svn \ peopleSwim \ peopleSwimming \ Logic \ UserFunctions.cs: строка 18 в peopleS wimming._Home.Page_Load (отправитель объекта, EventArgs e) в c: \ svn \ peopleSwim \ peopleSwimming \ Home.aspx.cs: строка 25 в System.Web.Util.CalliEventHandlerDelegateProxy.Callback (отправитель объекта, EventArgs e) в системе. Web.UI.Control.OnLoad (EventArgs е) в System.Web.UI.Control.LoadRecursive() в System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, булевой includeStagesAfterAsyncPoint)
Благодарим за информацию о операторах where в первом или по умолчанию и использовании блоков. Я изменил эту функцию, чтобы использовать блок использования, поэтому, надеюсь, я увижу ошибку реже! – L2wis
Вы видели это реже? –