using System.Collections.Generic;
using System.Data.SqlClient;
public static void Main()
var invoices = new List<Invoice>();
for(int i = 0; i < 3; i++)
invoices.Add(new Invoice() { Number = "Invoice_" + i });
var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServer());
connection.BulkInsert(invoices);
FiddleHelper.WriteTable("1 - Invoice", connection.Query<Invoice>("SELECT * FROM Invoice"));
public static void SetGlobalMapping()
DapperPlusManager.Entity<Invoice>().Identity(x => x.InvoiceID, true);
DapperPlusManager.Entity<InvoiceItem>().Identity(x => x.InvoiceItemID, true);
public int InvoiceID { get; set; }
public string Number { get; set; }
public InvoiceMeta InvoiceMeta { get; set; }
public List<InvoiceItem> InvoiceItems { get; set; }
public int InvoiceID { get; set; }
public decimal TotalPrice { get; set; }
public int TotalQuantity { get; set; }
public int InvoiceItemID { get; set; }
public int InvoiceID { get; set; }
public int ProductID { get; set; }
public decimal UnitPrice { get; set; }
public decimal UnitDiscount { get; set; }
public int Quantity { get; set; }
public InvoiceItemMeta InvoiceItemMeta { get; set; }
public class InvoiceItemMeta
public int InvoiceItemID { get; set; }
public decimal TotalPrice { get; set; }
public static void CreateDatabase()
var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServer());
[InvoiceID] [INT] IDENTITY(1,1) NOT NULL,
[Number] [VARCHAR](20) NULL,
CONSTRAINT [PK_Invoice] PRIMARY KEY CLUSTERED
CREATE TABLE [InvoiceMeta]
[InvoiceID] [INT] IDENTITY(1,1) NOT NULL,
[TotalPrice] [MONEY] NULL,
[TotalQuantity] [int] NULL,
CONSTRAINT [PK_InvoiceMeta] PRIMARY KEY CLUSTERED
CREATE TABLE [InvoiceItem]
[InvoiceItemID] [INT] IDENTITY(1,1) NOT NULL,
[InvoiceID] [INT] NOT NULL,
[ProductID] [INT] NOT NULL,
[UnitPrice] [MONEY] NOT NULL,
[UnitDiscount] [MONEY] NOT NULL,
[Quantity] [INT] NOT NULL,
CONSTRAINT [PK_InvoiceItem] PRIMARY KEY CLUSTERED
CREATE TABLE [InvoiceItemMeta]
[InvoiceItemID] [INT] IDENTITY(1,1) NOT NULL,
[TotalPrice] [MONEY] NULL,
CONSTRAINT [PK_InvoiceItemMeta] PRIMARY KEY CLUSTERED