using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data.Entity;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
public static void Main()
Z.EntityFramework.Extensions.EntityFrameworkManager.PreBulkSaveChanges = context => {
if(context.Database.Connection.State != System.Data.ConnectionState.Open)
context.Database.Connection.Open();
using (var command = context.Database.Connection.CreateCommand())
command.CommandText = "EXEC sp_set_session_context 'Customer_id', 3; ";
command.ExecuteNonQuery();
using (var context = new EntityContext())
context.Customers.Add(new Customer() { Code = "Customer_A"});
context.BulkSaveChanges();
FiddleHelper.WriteTable(context.Customers.AsNoTracking().ToList());
public class EntityContext : DbContext
public EntityContext() : base(FiddleHelper.GetConnectionStringSqlServer())
public DbSet<Customer> Customers { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int CustomerID { get; set; }
public string Code { get; set; }