public void MoreThanOneConnectionWithinTheSessionScope() { using(var conn = CreateSqlConnection()) using(var conn2 = CreateSqlConnection2()) using(new SessionScope()) { foreach(var connection in new [] { conn, conn2 }) { connection.Open(); using(new DifferentDatabaseScope(connection)) { var blog = new Blog {Name = "hammett's blog", Author = "hamilton verissimo"}; blog.Create(); } } } using (new SessionScope()) { var blogs2 = OtherDbBlog.FindAll().ToArray(); Assert.IsNotNull( blogs2 ); Assert.AreEqual( 1, blogs2.Length ); var blogs = Blog.FindAll().ToArray(); Assert.IsNotNull( blogs ); Assert.AreEqual( 1, blogs.Length ); } }
public void MoreThanOneConnectionWithinTheSessionScope() { SqlConnection conn = CreateSqlConnection(); SqlConnection conn2 = CreateSqlConnection2(); using(new SessionScope()) { foreach(SqlConnection connection in new SqlConnection[] { conn, conn2 }) { connection.Open(); using(new DifferentDatabaseScope(connection)) { Blog blog = new Blog(); blog.Name = "hammett's blog"; blog.Author = "hamilton verissimo"; blog.Create(); } } } OtherDbBlog[] blogs2 = OtherDbBlog.FindAll(); Assert.IsNotNull( blogs2 ); Assert.AreEqual( 1, blogs2.Length ); Blog[] blogs = Blog.FindAll(); Assert.IsNotNull( blogs ); Assert.AreEqual( 1, blogs.Length ); }
public void SimpleCase() { Blog blog = new Blog(); blog.Name = "hammett's blog"; blog.Author = "hamilton verissimo"; blog.Save(); SqlConnection conn = CreateSqlConnection(); using(conn) { conn.Open(); using(new DifferentDatabaseScope(conn)) { blog.Create(); } } Blog[] blogs = Blog.FindAll(); Assert.IsNotNull( blogs ); Assert.AreEqual( 1, blogs.Length ); OtherDbBlog[] blogs2 = OtherDbBlog.FindAll(); Assert.IsNotNull( blogs2 ); Assert.AreEqual( 1, blogs2.Length ); }
public void FillData() { ActiveRecordStarter.Initialize(GetConfigSource(), typeof(Blog),typeof(Post)); Recreate(); for (int i = 1; i <= 10; i++) { var blog = new Blog(i) { Name = "n" + i }; blog.Create(); } }
public void SimpleOperations2() { ActiveRecordStarter.Initialize(GetConfigSource(), typeof(Post), typeof(Blog)); Recreate(); Post.DeleteAll(); Blog.DeleteAll(); Blog[] blogs = Blog.FindAll(); Assert.IsNotNull(blogs); Assert.AreEqual(0, blogs.Length); Blog blog = new Blog(); blog.Name = "hammett's blog"; blog.Author = "hamilton verissimo"; blog.Create(); blogs = Blog.FindAll(); Assert.AreEqual(blog.Name, blogs[0].Name); Assert.AreEqual(blog.Author, blogs[0].Author); Assert.IsNotNull(blogs); Assert.AreEqual(1, blogs.Length); blog.Name = "something else1"; blog.Author = "something else2"; blog.Update(); blogs = Blog.FindAll(); Assert.IsNotNull(blogs); Assert.AreEqual(1, blogs.Length); Assert.AreEqual(blog.Name, blogs[0].Name); Assert.AreEqual(blog.Author, blogs[0].Author); }
public void Query_by_example() { ActiveRecordStarter.Initialize(GetConfigSource(), typeof(Post), typeof(Blog)); Recreate(); Post.DeleteAll(); Blog.DeleteAll(); Blog[] blogs = Blog.FindAll(); Assert.IsNotNull(blogs); Assert.AreEqual(0, blogs.Length); var blog = new Blog { Name = "hammett's blog", Author = "hamilton verissimo" }; blog.Create(); var count = Blog.FetchCount(Example.Create(new Blog { Name = "hammett" }) .EnableLike(MatchMode.Start) .ExcludeNulls() .ExcludeZeroes()); Assert.AreEqual(1, count); }
public void UsingTransactionScopeWithRollback() { SqlConnection conn = CreateSqlConnection(); ISession session1, session2; ITransaction trans1, trans2; using(TransactionScope scope = new TransactionScope()) { Blog blog = new Blog(); blog.Name = "hammett's blog"; blog.Author = "hamilton verissimo"; blog.Save(); session1 = blog.CurrentSession; trans1 = blog.CurrentSession.Transaction; Assert.IsNotNull(session1); Assert.IsNotNull(session1.Transaction); Assert.IsFalse(session1.Transaction.WasCommitted); Assert.IsFalse(session1.Transaction.WasRolledBack); conn.Open(); using(new DifferentDatabaseScope(conn)) { blog.Create(); session2 = blog.CurrentSession; trans2 = blog.CurrentSession.Transaction; Assert.IsNotNull(session2); Assert.IsFalse( Object.ReferenceEquals(session1, session2) ); Assert.IsNotNull(session2.Transaction); Assert.IsFalse(session2.Transaction.WasCommitted); Assert.IsFalse(session2.Transaction.WasRolledBack); scope.VoteRollBack(); } } Assert.IsFalse(session1.IsOpen); Assert.IsFalse(session2.IsOpen); Assert.IsFalse(trans1.WasCommitted); Assert.IsTrue(trans1.WasRolledBack); Assert.IsFalse(trans2.WasCommitted); Assert.IsTrue(trans2.WasRolledBack); Blog[] blogs = Blog.FindAll(); Assert.IsNotNull( blogs ); Assert.AreEqual( 0, blogs.Length ); OtherDbBlog[] blogs2 = OtherDbBlog.FindAll(); Assert.IsNotNull( blogs2 ); Assert.AreEqual( 0, blogs2.Length ); }
public void UsingSessionScope() { ISession session1, session2; using(new SessionScope()) { Blog blog = new Blog(); blog.Name = "hammett's blog"; blog.Author = "hamilton verissimo"; blog.Save(); session1 = blog.CurrentSession; Assert.IsNotNull(session1); SqlConnection conn = CreateSqlConnection(); using(conn) { conn.Open(); using(new DifferentDatabaseScope(conn)) { blog.Create(); session2 = blog.CurrentSession; Assert.IsNotNull(session2); Assert.IsFalse( Object.ReferenceEquals(session1, session2) ); } } } Blog[] blogs = Blog.FindAll(); Assert.IsNotNull( blogs ); Assert.AreEqual( 1, blogs.Length ); OtherDbBlog[] blogs2 = OtherDbBlog.FindAll(); Assert.IsNotNull( blogs2 ); Assert.AreEqual( 1, blogs2.Length ); }
public void UsingTransactionScope() { SqlConnection conn = CreateSqlConnection2(); ISession session1, session2; ITransaction trans1, trans2; using(new TransactionScope()) { Blog blog = new Blog {Name = "hammett's blog", Author = "hamilton verissimo"}; blog.Save(); blog.Evict(); session1 = blog.GetCurrentSession(); trans1 = blog.GetCurrentSession().Transaction; Assert.IsNotNull(session1); Assert.IsNotNull(session1.Transaction); Assert.IsFalse(session1.Transaction.WasCommitted); Assert.IsFalse(session1.Transaction.WasRolledBack); conn.Open(); using(new DifferentDatabaseScope(conn)) { blog.Create(); session2 = blog.GetCurrentSession(); trans2 = blog.GetCurrentSession().Transaction; Assert.IsNotNull(session2); Assert.IsFalse( Object.ReferenceEquals(session1, session2) ); Assert.IsNotNull(session2.Transaction); Assert.IsFalse(session2.Transaction.WasCommitted); Assert.IsFalse(session2.Transaction.WasRolledBack); } } Assert.IsFalse(session1.IsOpen); Assert.IsFalse(session2.IsOpen); Assert.IsTrue(trans1.WasCommitted); Assert.IsFalse(trans1.WasRolledBack); Assert.IsTrue(trans2.WasCommitted); Assert.IsFalse(trans2.WasRolledBack); using (new SessionScope()) { var blogs = Blog.FindAll().ToArray(); Assert.IsNotNull( blogs ); Assert.AreEqual( 1, Blog.Count()); var blogs2 = OtherDbBlog.FindAll().ToArray(); Assert.IsNotNull( blogs2 ); Assert.AreEqual( 1, OtherDbBlog.Count()); } }
public void UsingSessionScope() { ISession session1, session2; using (var conn = CreateSqlConnection2()) { conn.Open(); using (new SessionScope()) { Blog blog = new Blog {Name = "hammett's blog", Author = "hamilton verissimo"}; blog.Save(); session1 = blog.GetCurrentSession(); Assert.IsNotNull(session1); blog.Evict(); using (new DifferentDatabaseScope(conn)) { blog.Create(); session2 = blog.GetCurrentSession(); Assert.IsNotNull(session2); Assert.IsFalse(Object.ReferenceEquals(session1, session2)); } } } using (new SessionScope()) { var blogs = Blog.FindAll().ToArray(); Assert.IsNotNull( blogs ); Assert.AreEqual(1, Blog.Count()); var blogs2 = OtherDbBlog.FindAll().ToArray(); Assert.IsNotNull( blogs2 ); Assert.AreEqual(1, OtherDbBlog.Count()); } }
public void SimpleCase() { var blog = new Blog {Name = "hammett's blog", Author = "hamilton verissimo"}; using (new SessionScope()) { blog.Save(); } using (var conn = CreateSqlConnection2()) { conn.Open(); using(new DifferentDatabaseScope(conn)) { blog.Create(); } } using (new SessionScope()) { var blogs = Blog.FindAll().ToArray(); Assert.IsNotNull( blogs ); Assert.AreEqual( 1, Blog.Count()); var blogs2 = OtherDbBlog.FindAll().ToArray(); Assert.IsNotNull( blogs2 ); Assert.AreEqual( 1, OtherDbBlog.Count()); } }