private static void SimpleCrudTestsAssociationEntity() { using (var db = OpenConnection()) { var post = new Post { CreateDate = DateTime.Now, Title = "Test Post", User = new User { Id = 4 } }; var user = new User { JoinDate = DateTime.Now, Username = "******" }; db.Insert(post); db.Insert(user); var like = new Like { Post = post, User = user, LikedDate = DateTime.Now }; db.Insert(like); like = db.GetById<Like>(like); Console.WriteLine(like.LikedDate); like.LikedDate = DateTime.Now.AddDays(2); db.Update(like); like = db.GetById<Like>(like); Console.WriteLine(like.LikedDate); db.Delete(like); like = db.GetById<Like>(like); Console.WriteLine(like == null); } }
private static void SelectTests() { var userIds = new long[] { 1, 2, 3 }; var post = new Post { Id = 12 }; using (var db = OpenConnection()) { Page<Like> page = null; var sw = new Stopwatch(); sw.Start(); for (var i = 0; i < 100; i++) { page = db.Select<Like>() .Join(l => l.User, u => new { u.Id, u.Username, u.Fullname }) .Join(l => l.Post, p => new { p.Id, p.Title }) .Join(l => l.Post.User, u => new { u.Id, u.Username, u.Fullname }) .Where(l => DateTime.Now.ToUniversalTime().ToLocalTime().ToUniversalTime() > l.User.JoinDate && userIds.Contains(l.User.Id) && l.Post.User.Username.StartsWith("taga".Substring(0, 2)) && l.Post.User != l.User) .Where(l => l.Post.Id != post.Id) .OrderBy(l => l.Post.User) .OrderByDesc(l => l.LikedDate) .Page(1, 1); } sw.Stop(); Console.WriteLine(page.Items.Count()); Console.WriteLine(page.TotalCount); Console.WriteLine(page.HasMore); Console.WriteLine(sw.ElapsedMilliseconds); } }