Я разработал приложение со структурой сущностей. Иногда я получаю сообщение об ошибке «Экземпляр ObjectContext был удален и больше не может использоваться для операций, требующих подключения.» это из. Я был бы очень признателен, если бы вы могли помочь
Мой DatabaseContext:
public class DatabaseContext :DbContext
{
public DbSet<EvernoteUser> EvernoteUsers { get; set; }
public DbSet<Note> Notes { get; set; }
public DbSet<Comment> Comments { get; set; }
public DbSet<Category> Categories { get; set; }
public DbSet<Liked> Likes { get; set; }
public DatabaseContext()
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion<DatabaseContext,Configuration>());
}
}
Мой репозиторий:
public class Repository<T> :IRepository<T> where T : class
{
private DatabaseContext db;
public Repository()
{
db = RepositoryBase.CreateContext();
}
public List<T> List()
{
return db.Set<T>().ToList();
}
public List<T> List(Expression<Func<T,bool>> where)
{
return db.Set<T>().Where(where).ToList();
}
public T Find(Expression<Func<T, bool>> where)
{
return db.Set<T>().FirstOrDefault(where);
}
public IQueryable<T> ListQueryable()
{
return db.Set<T>().AsQueryable<T>();
}
}
}
Мой класс RepositoryBase:
class RepositoryBase
{
protected RepositoryBase()
{
}
private static DatabaseContext _db;
private static object _lockObjesi = new object();
public static DatabaseContext CreateContext()
{
if (_db == null)
{
lock (_lockObjesi)
{
if (_db == null)
{
_db = new DatabaseContext();
}
}
}
return _db;
}
}
Примечание Entity:
public class Note : MyEntitesBase
{
public string Tittle { get; set; }
public string Text { get; set; }
public bool IsDraft { get; set; }
public int LikeCount { get; set; }
public int CategoryID { get; set; }
public virtual EvernoteUser Owner { get; set; }
public virtual List<Comment> Comments { get; set; }
public virtual Category Category { get; set; }
public virtual List<Liked> Likes { get; set; }
public Note()
{
Comments = new List<Comment>();
Likes = new List<Liked>();
}
}
Комментарий Entity:
public class Comment : MyEntitesBase
{
public string Text { get; set; }
public bool CommentStatus { get; set; }
public virtual Note Note { get; set; }
public virtual EvernoteUser Owner { get; set; }
}