2017-04-12 1 views
0

J'ai une boucle foreach qui itère à travers une liste de type List<NewItem>, crée une nouvelle instance de NewItem, définit ses propriétés, puis Add() s l'élément du contexte à insérer lors de l'exécution de SaveChanges() :Insérer des lignes multiples à la base de données LINQ

foreach (var newItem in newItems) 
{ 
    NewItem item = new NewItem 
    { 
     User = newItem.User, 
     Itemno = newItem.Itemno 
    }; 

    db.NewItem.Add(item); 

} 

try 
{ 
    db.SaveChanges(); 
} 
catch (Exception e) 
{ 
    Console.WriteLine(e); 
} 

Je reçois l'erreur:

Unable to update the EntitySet 'NewItem' because it has a DefiningQuery and no element exists in the element to support the current operation.

Pourquoi pas la méthode Add() ajouter quoi que ce soit à mon contexte db?

Répondre

1

Si la table de base de données cible ne possède pas de clé primaire, ajoutez-en une.