2012-05-31 189 views
1

我想在我的遷移配置文件中種下一些數據。我創建了位置類EF代碼優先4.3:遷移/種子

var location = new Location 
      { 
       Name = "Test", 
       Street = "Test", 
       City = "Test", 
       State = "Test", 
       ZipCode = "Test", 
       Country = "US", 
       PhoneNumber = "Test", 
       EmailAddress = null, 
       Website ="Test", 
       Latitude = Convert.ToDecimal(35.137592), 
       Longitude = Convert.ToDecimal(-85.124883) 
      }; 

而且種子它的一個新實例,我有

context.Locations.AddOrUpdate(
       t => 
       new 
        { 
         t.Name, 
         t.Street, 
         t.City, 
         t.State, 
         t.ZipCode, 
         t.Country, 
         t.PhoneNumber, 
         t.EmailAddress, 
         t.Website, 
         t.Latitude, 
         t.Longitude 
        }, location); 

經度和緯度是十進制?類型。

我越來越想運行此遷移時出現以下錯誤:

二元運算符等於沒有爲類型「System.Nullable`1 [System.Decimal]」和「System.Decimal」定義。

我該如何解決這個問題?

+0

明白了。我現在瞭解AddOrUpdate方法。我將其更改爲context.Locations.AddOrUpdate(t => t.Name,location);所以它只檢查名稱列,它的工作。 – Mike

回答

2

改成了

context.Locations.AddOrUpdate(t => t.Name,location); 

,使其只對名稱列檢查(在這種情況下字符串)