2015-10-20 3 views
0

Мой метод семени отлично работает при использовании AddOrUpdate в других таблицах, этот код, тем не менее, вызывает сбой Visual Studio при каждом запуске.Метод семян AddOrUpdate Crashes Visual Studio

context.GoogleCategories.AddOrUpdate(
    p => p.ID, 
    new GoogleCategory { ParentID = null, name = "Clothing & Accessories" } 
); 

Вот определение модели:

[Table("GoogleCategory")] 
public class GoogleCategory 
{ 
    public GoogleCategory() 
    { 
     this.Parent = new GoogleCategory(); 
    } 

    public int ID { get; set; } 
    public string name { get; set; } 
    public Nullable<int> ParentID { get; set; } 

    public virtual GoogleCategory Parent { get; set; } 
} 

И что создается в миграции:

CreateTable("dbo.GoogleCategory", 
    c => new 
    { 
     ID = c.Int(nullable: false, identity: true), 
     name = c.String(), 
     ParentID = c.Int(), 
    }) 
    .PrimaryKey(t => t.ID) 
    .ForeignKey("dbo.GoogleCategory", t => t.ParentID) 
    .Index(t => t.ParentID); 

Любые идеи? Существует журнал событий, но он не показывает заметной информации, которую я вижу.

Faulting application name: devenv.exe, version: 11.0.61219.0, time stamp: 0x55cdaf21 
Faulting module name: clr.dll, version: 4.0.30319.34209, time stamp: 0x5348961e 
Exception code: 0xc00000fd 
Fault offset: 0x001a149e 
Faulting process id: 0x1b48 
Faulting application start time: 0x01d10b10520f2a40 
Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe 
Faulting module path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll 
Report Id: 8b926474-7706-11e5-aaf4-0024810b020a 
+0

попробуйте взломать все исключения, возможно, вы можете сломаться до сбоев VS – thumbmunkeys

+0

Сбой приложения или самой Visual Studio? Последнее похоже на проблему с машиной. Проводили ли вы тест памяти, проверяли все обновления и т. Д.? – CodeCaster

+0

@CodeCaster Не знаете, как вы это проверите, я добавлю журнал просмотра событий в главный вопрос. –

ответ

0

Извините, что опубликовал мой собственный ответ. Я должен был сначала изучить его более первым.

При создании GoogleCategory произошло исключение переполнения стека, поскольку в конструкторе он пытается создать новую GoogleCategory (duh), которая, очевидно, просто вращалась и вращалась.

Это означает, однако, что StackOverflowException в методе seed приведет к сбою Visual Studio 2012 вместо сообщения об ошибке.

Смежные вопросы