private void InsertSimple(BikData data) { foreach (var item in data.BICDirectoryEntry) { int id = InsertBIC(item); InsertAccounts(id, item.Accounts); InsertParticipantInfo(id, item.ParticipantInfo); } }
public bool Save(BikData data) { Clear(); // В этом варианте Упала производительность ) //InsertSimple(); Insert(data); return(true); }
private void Insert(BikData data) { using (var connection = new SqlConnection(ConnectionString)) { DapperPlusManager.Entity <BICDirectoryEntry>().Table("BICDirectoryEntry").Identity(x => x.Id); DapperPlusManager.Entity <ParticipantInfo>().Table("ParticipantInfo").Identity(x => x.Id); DapperPlusManager.Entity <Accounts>().Table("Accounts").Identity(x => x.Id); connection.BulkInsert(data.BICDirectoryEntry) .Include(b => b.ThenForEach(x => x.ParticipantInfo.BICDirectoryEntryId = x.Id) .ThenBulkInsert(x => x.ParticipantInfo)) .Include(a => a.ThenForEach(c => c.Accounts.ForEach(v => v.BICDirectoryEntryId = c.Id)).ThenBulkInsert(x => x.Accounts)); } }