public void Insert(ref TEntity entity) { using (var db = new FbConnection(ConnectionString)) { var id = db.Insert(entity); entity = GetById((int)id); } }
static void Main(string[] args) { Console.WriteLine("Starting Against Test DB: " + args[0] + " " + args[1] + " " + args[2]); Console.WriteLine("Enter to Start"); Console.ReadLine(); FbConnectionStringBuilder csb = new FbConnectionStringBuilder(); csb.DataSource = "localhost"; csb.Port = 3050; csb.UserID = args[1]; csb.Password = args[2]; csb.Database = args[0]; csb.ServerType = FbServerType.Default; Console.WriteLine("Dropping Database"); FbConnection.DropDatabase(csb.ToString()); Console.WriteLine("Creating Database"); FbConnection.CreateDatabase(csb.ToString()); FileInfo Schema = new FileInfo("schema.sql"); String DDL = Schema.OpenText().ReadToEnd(); Console.WriteLine("Applying Schema"); CreateDatabaseSchema(DDL, csb.ToString()); try { using (FbConnection db = new FbConnection(csb.ToString())) { db.Open(); List <int> loops = Enumerable.Range(1, 3).ToList(); foreach (int k in loops) { using (FbTransaction t = db.BeginTransaction()) { try { List <int> words = Enumerable.Range(1, 1).ToList(); foreach (int i in words) { MemoDB m = new MemoDB(); m.MEMO = "TEST"; db.Insert(m, t); } if (k == 2) { Console.WriteLine("Simulating a Close"); db.Close(); } else { t.Commit(); var count = db.Query <Int32>("select count(*) from memo").Single(); Console.WriteLine("Records Written: " + count); } } catch (Exception ex) { t.Rollback(); WriteExceptionLog(ex); } } } } } catch (Exception ex) { WriteExceptionLog(ex); } Console.WriteLine("Stopped... Press Enter to Check for Validation."); Console.ReadLine(); try { using (FbConnection db = new FbConnection(csb.ToString())) { db.Open(); Console.WriteLine("Counting"); var count = db.Query <Int32>("select count(*) from memo").Single(); Console.WriteLine("Records Written: " + count); Console.WriteLine("Deleting"); db.Execute("delete from memo"); } } catch (Exception ex) { WriteExceptionLog(ex); } Console.WriteLine("Ending Application."); Console.ReadLine(); }