1. У меня есть этот метод в моем хранилище классаЧто вызывает эту ошибку «Операция не может быть завершена, поскольку DbContext были захоронены»
public class VariablesRepository : IVariablesRepository
{
readonly DBContextClass _context = DBContextClass.Current;
public Variables Find(string name)
{
return _context.Variables.FirstOrDefault(c => c.Name.ToLower().Equals(name.ToLower())) ?? new Variables();
}
}
2. У меня также есть статический класс
public class Defaults {
private static VariablesRepository _variablesRepository;
static Defaults() {
_variablesRepository = new VariablesRepository();
}
public class MOSScheduleTypes
{
private static int _tryValue;
public static readonly int OneTime = int.TryParse(_variablesRepository.Find("MOSScheduleTypes.OneTime").Value, out _tryValue)
? _tryValue
: 1;
}
}
3. Теперь, если я сделать это где-то в коде: например
if(someValue == Defaults.MOSScheduleTypes.OneTime)
{
//some code here....
}
Я получаю сообщение об ошибке: операция не может быть завершена, потому что DbContext был удален
Где вы инстанцировании '_variablesRepository'? –
MOSScheduleTypes - это класс внутри класса с именем Defaults. Класс Defaults имеет _variablesRepository экземпляр –
Не возражаете ли вы обновить свой вопрос с помощью этой информации? Даже если я не могу помочь, кто-то может найти эту информацию полезной. –