Я знаю, как исправить эту проблему, но эта ошибка возникает в ситуации, совершенно другой для меня ,Как решить «Экземпляр объекта ObjectContext был удален и больше не может использоваться для операций, требующих подключения» для странной ситуации
В моем представлении MVC Razor У меня есть следующий код, который будет фильтровать список модели и принести мне конкретный объект на основе зарегистрированного пользователя, а также с полем, где результат отличается от нуля:
@{
Models.PostOrcamentoServicoProposta proposta = Model.PostOrcamentoServicoProposta.FirstOrDefault(p => p.Usuarios.UsuEmail.Equals(User.Identity.Name, StringComparison.OrdinalIgnoreCase) && p.PosOrcSerProStatus != null);
if (proposta != null)
{
// create a div here
}
}
в моей ActionResult я следующую нагрузку
using (ServiciliEntities db = new ServiciliEntities())
{
// include data
PostOrcamentoServico orcamento = db.PostOrcamentoServico.Include("PostOrcamentoServicoProposta").Where(o => o.PosOrcSerId == id).FirstOrDefault();
return View(orcamento);
}
Как мы видим, на мой взгляд, я получаю модель, которая содержит список PostOrcamentoServicoProposta, и я хочу получить только один specic PostOrcamentoServicoProposta item согласно вошедшему пользователю.
Нет проблем об этом, но я также хочу, чтобы один гдеPosOrcSerProStatus не должен быть пустым.
И есть проблема, это поле PosOrcSerProStatus.
Поле Поле PosOrcSerProStatus - это Nullable<Enumerable>
, и в некоторых случаях это может быть возможно для NULL.
Так что, когда я отладки мой взгляд, я могу видеть, что PosOrcSerProStatus равна нулю, и, что это нормально для меня, однако, даже если я пытаюсь манипулировать, чтобы получить только тот, который не обнуляемым с ! состояние p.PosOrcSerProStatus = нуль, то я получаю ошибку:
The ObjectContext instance has been disposed and can no longer be used for operations that require a connection
Первый: список PosOrcSerProStatus заполняется в действие с Include ("PostOrcamentoServicoProposta");
Второй: Model.PostOrcamentoServicoProposta содержит объекты;
Третий: Во всех PostOrcamentoServicoProposta объектов они населены правильно и PosOrcSerProStatus может быть или не может быть пустым.
Пожалуйста, добавьте больше кода в фактический блок кода. В настоящее время очень сложно следить за тем, что вы пытаетесь сделать. –
Какой тип Model.PostOrcamentoServicoProposta? если IQueryable, этот код приведет к ленивой загрузке и запросу к базе данных, в этом случае перечислит ее в список. – DevilSuichiro
@DevilSuichiro Model.PostOrcamentoServicoProposta - ICollection. Этот объект уже загружен –
Dan