2016-03-16 80 views
1

我有模型:它的數據來自某個站點,我在那裏解析它。將IEnumerable保存到數據庫中

public class Race 
{ 
    [Key] 
    public int Id; 
    public string Cars; 
    public string Place; 
    public string Pilot; 
} 

var compare = Doc.DocumentNode 
       .SelectNodes(path) 
       .Select(s => new Race() 
          { 
           Cars =s.SelectNodes("./div[1]//text()").Single().InnerText, 
          } 
         ); 
using (_context) // how can I do this? 
{ 
    _context.Race.Add(compare); 
    _context.SaveChanges(); 
} 

參數1:從 'System.Collections.Generic.IEnumerable<Race>' 無法轉換爲 '種族'

+0

LINQ通常返回IEnumerables,即使有隻有一個項目在列表中。在IEnumerable上執行LastOrDefault()以僅獲取最後一個或默認值。 (記得檢查一下LINQ是否可以返回一些東西) – counterflux

回答

4

您應該使用AddRange代替Add

using (_context)  // how can I do this? 
{ 
    _context.Race.AddRange(compare); 
    _context.SaveChanges(); 
}