private static void DeleteRandomComment() { // Fetching a Random Comment Comment comment; using (var context = new DiscussionBoardContext()) { // Get me a random comment comment = context.Comments.FirstOrDefault(); } using (var context = new DiscussionBoardContext()) { context.Database.Log = Console.WriteLine; // Note* // We need to apprise this Context of the changes we would // like to be made in the Database to the // fetched Comment Object! // Marking the object as Deleted for the Context to // take action and fire a Delete Statement for the relevant // Comment Object. context.Entry(comment).State = EntityState.Deleted; // Save the Updated Comment Object context.SaveChanges(); Console.ReadKey(); } }
private static void UpdateRandomCommentInDisconnectedState() { // Fetching a Random Comment Comment comment; using (var context = new DiscussionBoardContext()) { // Get me a random comment comment = context.Comments.FirstOrDefault(); } // Update the data now // This will mimick us fetching data and passing // it to some sort of client - example a Web page // for update. // Mimicking Update the Web Client will do comment.CommentDetail = "Comment Updated by: "+ "UpdateRandomCommentInDisconnectedState()" + " Method on DateTime" + System.DateTime.Now.ToString(); // Now, the data HashSet to TransactionalBehavior saved. using (var context = new DiscussionBoardContext()) { context.Database.Log = Console.WriteLine; // Note* This Context has NO IDEA of what has happened to the // above Comment Object - It has no Knowledge that it has been // Updated! // We need to apprise it of the changes we have made to the // Comment Object! // Marking the object as Updated/Modified for the Context to // take action and fire a Update Statement for the relevant // Comment Object. context.Entry(comment).State = EntityState.Modified; // Save the Updated Comment Object context.SaveChanges(); Console.ReadKey(); } }
private static void RetrievingDataGraphs() { // Fetch a Topic Record and all related Comments to that Topic Topic eagerLoadedTopic; using (var context = new DiscussionBoardContext()) { // Example of Eager Loading eagerLoadedTopic = context.Topics.Where(t => t.TopicName .Contains("Will Mr.Gates ever")) .Include(t => t.Comments) .FirstOrDefault(); } Topic explicitLoadedTopic; using (var context = new DiscussionBoardContext()) { // Example of Explicit Loading explicitLoadedTopic = context.Topics.Where(t => t.TopicName .Contains("Will Mr.Gates ever")) .FirstOrDefault(); // Explicit Loading done here context.Entry(explicitLoadedTopic) .Collection(t => t.Comments) .Load(); } }