Notre est une application de soins de santé suit (AngularjS + MVC + WebAPI) 3tier architecture. Im télécharger une feuille Excel n faire des mappages de colonnes dans un écran d'importation. Après cela, je fais toutes les validations pour chaque n chaque enregistrement dans la feuille Excel. Ensuite, toutes ces lignes 50K en tant qu'entités vers la couche Web-API. Voici im insérer un rec dans la table parent pour obtenir la clé primaire. Après l'avoir obtenu en passant par les entités 50k pour le mettre à jour dans la collection. Ensuite, j'utilise addRange pour mettre à jour toutes ces valeurs dans la base de données. Voici un morceau de code que nous avons utilisé dans l'application.En vrac Insert dans Entity Framework v6.1
db.tableA.Add(Entity1);
db.SaveChanges();
(Primary Key) fileId = int.Parse(Entity1.Id.ToString());
//DataList having 50K Entities
foreach (tableB coll in DataList)
{
coll.fileID = fileId;
}
db.tableB.AddRange(DataList);
db.SaveChanges();
Référé ci-dessous. Bulk insert in entity framework
How to use Bulk Insert in Entity Framework using Object Context?
Bulk insert in entity framework
Mais je ne pouvais pas utiliser le EntityFramework.BulkInsert depuis son pas compatible avec la dernière version EF (6.1). Existe-t-il une autre approche viable pour utiliser l'insert en vrac en utilisant EF? Aussi pouvons-nous utiliser SqlBulkCopy dans Entity Framework `
Oui, vous pouvez simplement utiliser SqlBulkCopy dans le même projet dans lequel vous utilisez EF. –
@Lukas yes.Y a-t-il une possibilité d'utiliser un insert en vrac dans EF version 6.1? – SivaRajini
@SivaRajini pourquoi? L'insertion en vrac n'a rien à voir avec les * objets *. Bulk Insert signifie envoyer un flux d'enregistrements à la base de données aussi vite que possible. Un ORM traite des mappages et des classes, pas des enregistrements. C'est le mauvais outil pour le travail –