private static void DeleteCommentData(BlogDbContext db) { var comment = db.Comments.Single(c => c.Id == 1); db.Comments.Remove(comment); db.SaveChanges(); Console.WriteLine($"Comment #{comment.Id} deleted."); }
private static void JoinAuthorsWithTitles(BlogDbContext db) { var users = db.Users.SelectMany(u => u.Posts, (u, p) => new { u.UserName, p.Title }); foreach (var user in users) { Console.WriteLine($"Username: {user.UserName}"); Console.WriteLine($"Post Title: {user.Title}"); Console.WriteLine(); } }
private static void GetAllAuthorsOfPosts(BlogDbContext db) { var users = db.Users.Select(u => new {u.UserName, u.FullName, u.Posts, u.Id}) .Where(u => u.Posts.Count > 0) .OrderByDescending(u => u.Id); foreach (var user in users) { Console.WriteLine($"Username: {user.UserName}"); Console.WriteLine($"Full Name: {user.FullName}"); } }
private static void ListAllPosts(BlogDbContext db) { var posts = db.Posts.ToList(); foreach (var post in posts) { Console.WriteLine($"Title: {post.Title.Trim()}"); Console.WriteLine($"AuthorId: {post.AuthorId}"); Console.WriteLine($"Comments Count: {post.Comments.Count}"); Console.WriteLine($"Tags Count: {post.Tags.Count}"); Console.WriteLine(); } }
private static void DeletePostData(BlogDbContext db) { var post = db.Posts.Single(p => p.Id == 31); db.Comments.RemoveRange(post.Comments); post.Tags.Clear(); db.Posts.Remove(post); db.SaveChanges(); Console.WriteLine($"Post #{post.Id} deleted."); }
private static void CreateData(BlogDbContext db) { var post = new Post() { AuthorId = 2, Title = "Random Title", Body = "Random Body", Date = DateTime.Now }; db.Posts.Add(post); db.SaveChanges(); Console.WriteLine($"Post #{post.Id} created!"); }
private static void ListAllUsers(BlogDbContext db) { var users = db.Users.ToList(); foreach (var user in users) { Console.WriteLine($"ID: {user.Id}"); Console.WriteLine($"Name: {user.FullName}"); Console.WriteLine($"Comments Count: {user.Comments.Count}"); Console.WriteLine($"Posts Count: {user.Posts.Count}"); Console.WriteLine(); } }
private static void UpdateData(BlogDbContext db) { var user = db.Users.Single(u => u.UserName == "GBotev"); var oldName = user.FullName; user.FullName = "Georgi Botev"; db.SaveChanges(); Console.WriteLine($"User '{oldName}' has been renamed to '{user.FullName}'."); }
private static void SelectAuthors(BlogDbContext db) { var users = db.Users.Select(u => new { u.UserName, u.FullName, u.Posts }) .Where(u => u.Posts.Count > 0).ToList(); foreach (var user in users) { Console.WriteLine($"Username: {user.UserName}"); Console.WriteLine($"Full Name: {user.FullName}"); Console.WriteLine($"Posts Count: {user.Posts.Count}"); Console.WriteLine(); } }
private static void SelectAuthorOfSpecificPost(BlogDbContext db) { var user = db.Users .SelectMany(u => u.Posts, (u, p) => new {u.UserName, u.FullName, p.Id}) .Single(p => p.Id == 4); Console.WriteLine($"Username: {user.UserName}"); Console.WriteLine($"Full Name: {user.FullName}"); }
static void Main() { // Uncomment each method one by one to see the result of it. var db = new BlogDbContext(); //ListAllPosts(db); //ListAllUsers(db); //ListPostsTitleAndBodyFromPost(db); //ListOrderData(db); //ListOrderByTwoColumns(db); //SelectAuthors(db); //JoinAuthorsWithTitles(db); //SelectAuthorOfSpecificPost(db); //GetAllAuthorsOfPosts(db); //CreateData(db); //UpdateData(db); //DeleteCommentData(db); //DeletePostData(db); }
private static void ListPostsTitleAndBodyFromPost(BlogDbContext db, bool listFull = false) { var posts = db.Posts.Select(p => new { p.Title, p.Body }).ToList(); foreach (var post in posts) { var postContent = listFull ? post.Body : post.Body.Substring(0, 200) + "..."; Console.WriteLine($"Title: {post.Title.Trim()}"); Console.WriteLine($"Content: {postContent}"); Console.WriteLine(); } }
private static void ListOrderData(BlogDbContext db) { var users = db.Users.Select(u => new { u.UserName, u.FullName }) .OrderBy(u => u.UserName) .ToList(); foreach (var user in users) { Console.WriteLine($"Username: {user.UserName}"); Console.WriteLine($"Full Name: {user.FullName}"); Console.WriteLine(); } }