using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using Microsoft.Data.SqlClient;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
public static void Main()
using (var context = new EntityContext())
context.Database.EnsureCreated();
using (var context = new EntityContext())
var list = context.Customers.ToList();
list.ForEach(x => x.Name += "_Merged" );
list.ForEach(x => x.IdentityInt += 100 );
list.Add( new Customer() { CustomerID = 3, IdentityInt = 4, Name ="Customer_C" });
context.BulkMerge(list, options => options.MergeKeepIdentity = true);
using (var context = new EntityContext())
FiddleHelper.WriteTable(context.Customers.ToList());
public static void GenerateData()
using (var context = new EntityContext())
context.Customers.Add(new Customer() { CustomerID = 1, Name ="Customer_A"});
context.Customers.Add(new Customer() { CustomerID = 2, Name ="Customer_B"});
context.BulkSaveChanges();
using (var context = new EntityContext())
FiddleHelper.WriteTable(context.Customers.ToList());
public class EntityContext : DbContext
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
optionsBuilder.UseSqlServer(new SqlConnection(FiddleHelper.GetConnectionStringSqlServer()));
base.OnConfiguring(optionsBuilder);
public DbSet<Customer> Customers { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int CustomerID { get; set; }
public int IdentityInt { get; set; }
public string Name { get; set; }