Как я могу исправить "Соединение не было закрыто. Текущее состояние соединения: соединение." - PullRequest
0 голосов
/ 02 марта 2020

Я разработал приложение со структурой сущностей. Иногда я получаю

Соединение не было закрыто. Текущее состояние соединения: подключение

Я провел некоторое исследование inte rnet, но не смог понять. Я был бы очень признателен, если бы вы могли помочь

HomeController:


        public ActionResult Index()
        {

            //return View(CacheHelper.getIndexNotesFromCache()); //Yazıları son değiştirilme tarihine göre sırala ve view'e gönder
            return View(noteManager.ListQueryable().Include(x=>x.Owner).Include(x=>x.Comments).Include(x=>x.Category).Include(x=>x.Likes).Where(x => x.IsDraft == false && x.IsApproved == true).OrderByDescending(x => x.ModifiedOn).Take(10).ToList());
        }

Моя заметка 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; } 
}

My 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>()); 
        Database.Initialize(force: false);

    }

}

1 Ответ

0 голосов
/ 03 марта 2020

Вы можете сослаться на эту ссылку

Открытие соединения вручную не решает проблему. Это только открывает соединение ранее. В противном случае соединение открывается при первой загрузке набора записей. Проблема была решена путем добавления

Pooling = false;

...