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();
var c = new Customer() { CustomerID = 10, IdentityInt = 3, Name ="Customer_A" };
var c2 = new Customer() { CustomerID = 20, IdentityInt = 1, Name ="Customer_B" };
var c3 = new Customer() { CustomerID = 20, IdentityInt = 11, Name ="Customer_C" };
using (var context = new EntityContext())
context.Database.OpenConnection();
context.Database.ExecuteSqlRaw("SET IDENTITY_INSERT dbo.Customers ON");
context.Database.ExecuteSqlRaw("SET IDENTITY_INSERT dbo.Customers OFF");
context.Database.CloseConnection();
using (var context = new EntityContext())
using (var trans = context.Database.BeginTransaction()) {
context.Database.ExecuteSqlRaw("SET IDENTITY_INSERT dbo.Customers ON");
context.Database.ExecuteSqlRaw("SET IDENTITY_INSERT dbo.Customers OFF");
using (var context = new EntityContext())
using (var trans = context.Database.BeginTransaction()) {
context.Database.ExecuteSqlRaw("SET IDENTITY_INSERT dbo.Customers ON");
context.Database.ExecuteSqlRaw("SET IDENTITY_INSERT dbo.Customers OFF");
Console.WriteLine(ex.InnerException.Message);
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; }