Ошибка System.StackOverflowException при преобразовании проекта Visual Studio 2013 к 2015 году с использованием кода Entity Framework First
Мы создали "MVC Project в Visual Studio 2012 Ultimate" и использовали "Code First". Теперь мы хотим преобразовать этот проект в "Visual Studio 2015 Professional".
Текущая конфигурация проекта: -
.Net Framework Version: 4.5
Версия MVC: 5.0 (5.2.2)
Используемая платформа Entity Framework: 6.0 (6.1.1)
Проблема: у нас есть ошибка в функции "OnModelCreating". Ниже я написал код фрагмента.
protected virtual void OnModelCreating(DbModelBuilder modelBuilder) <--- Error throw at this line System.StackOverflowException
{
//Foreign key relation
}
![Ошибка StackOVerFlow Ошибка исключения из-за рекурсии]()
Различные проблемы, с которыми мы столкнулись
1. Когда я комментирую отношение внешнего ключа в методе OnModelCreating, чем он работает нормально.
2. Возможная причина для этой ошибки может быть рекурсией, но раньше она работала нормально в VS 2012 и VS 2013. Теперь что случилось с этой версией Visual Studio 2015.
3. В Visual Studio 2015 некоторая часть метода OnModelCreating отлично работает на одной машине, но тот же код не работает на другой машине.
Ответы
Ответ 1
То, что я, вероятно, сделаю, это начать комментирование группы Entities из DbSet/Model и продолжать делать это до тех пор, пока она не будет работать. Затем я бы медленно добавил их, чтобы посмотреть, какая модель вызывает проблему. Если вы закомментируете все DbSets/Models и все еще сработаете, тогда вам нужно нажать Ctrl-Alt-E и проверить второй флажок, чтобы вы нарушили ВСЕ исключения, чтобы узнать, можете ли вы найти более глубокое исключение. В противном случае нам нужно увидеть точную строку кода, которая умирает, или мы, вероятно, не сможем много помочь.