2014-03-25 66 views
0

我試圖種子數.NET EF無法使用遷移

context.Wishlists.AddOrUpdate(
      w => w.Name, 
      new Wishlist 
      { 
       Id = 1, 
       Name = "My First Wishlist", 
       Invitees = new List<Invitee> { 
        new Invitee { Id = 1, FirstName = "Super", LastName = "Man", Email = "[email protected]" }, 
        new Invitee { Id = 2, FirstName = "Super", LastName = "Bitch", Email = "[email protected]" } 
       }, 
       Status = WishlistStatuses.Active, 
       Items = new List<Item> { 
        new Item { Id = 1, Name = "TestItem1", Status = ItemStatuses.Active, Store = "Toys R Us", Description = "Buy the brown one", SuggestedPrice = 100 }, 
        new Item { Id = 2, Name = "TestItem2", Status = ItemStatuses.Active }, 
        new Item { Id = 3, Name = "TestItem3", Status = ItemStatuses.Reserved } 
       }, 
       Event = new Event { Id = 1, Name = "Shower", When = DateTime.Now, Location = "Here" }, 
       DateCreated = DateTime.Now 
      } 
     ); 

     // if admin user not created 
     if (!context.Users.Any(u => u.UserName == "Admin")) 
     { 
      var userStore = new UserStore<User>(context); 
      var userManager = new UserManager<User>(userStore); 
      var user = new User 
      { 
       UserName = "Admin", 
       FirstName = "John", 
       LastName = "Doe", 
       Email = "[email protected]", 
       Wishlist = context.Wishlists.FirstOrDefault(x => x.Id == 1), 
       DateCreated = DateTime.Now 
      }; 

      userManager.Create(user, "password"); 
     } 

問題種子完整的數據user.Wishlist總是空不管我做什麼。用戶模型從IdentityUser繼承。所有其他領域都很好。這個遷移的東西我瘋了。 DBInitializer非常簡單。

此外,當我嘗試重新更新數據庫我遇到了datetime2問題,無法更新任何東西。當我註釋掉種子中的所有內容時,它只會顯示datetime2錯誤。

回答

0

我能在我的CreateTable代碼中使用c.DateTime(storeType:「datetime2」,nullable:false)修復我的datetime2問題。