У меня есть модель данных в SQL Server, которая имеет отношение «многие ко многим».Когда Entity Framework моделирует это отношение, он делает это, создавая двустороннюю ссылку на список, подобную этой:
public class Class1
{
public ICollection<Class2> Class2s {get;set;}
}
public class Class2
{
public ICollection<Class1> Class1s {get;set;}
}
Теперь проблема в том, что в некоторых обстоятельствах (но не во всех) это, кажется, вызывает бесконечный цикл,У меня есть случай, когда я вызываю Add()
в одной из коллекций, это заставляет платформу зацикливаться между методами get свойств обоих классов, эффективно перегружая весь процессор и замораживая приложение.
Кто-нибудь испытывал что-либо подобное?Что я могу сделать, чтобы предотвратить это?
PS: Я использую генератор генерации Mocking Framework Раба Халлетта для генерации кода.Не знаю, относится ли это к делу.
Обновление 1 : Это определенно связано с фальшивой структурой
Обновление 2 : Это не бесконечноцикл, но он обращается ко всем элементам из обеих таблиц - вероятно, вызывает n * m доступов.Я посмотрю больше на это и вернусь