Building an Enterprise App with WPF, MVVM, and Entity Framework Code First
WPF is a popular and solid technology to build desktop applications for Windows. This course teaches you how to build a full enterprise application that uses a SQL Server database.
What you'll learn
At the core of developing a data-driven WPF application is a thorough knowledge of how to use the MVVM Pattern and Entity Framework.
In this course, Building an Enterprise App with WPF, MVVM, and Entity Framework Code First, you will learn the skills you need to create high-quality enterprise applications with WPF:
- communicating between different ViewModels
- detecting model changes
- handling many-to-many relations
- creating a tabbed user interface
- implementing optimistic concurrency
- styling your application
Table of contents
- Introduction 1m
- Process Unhandled Exceptions 4m
- Validation in WPF 4m
- Wrap the Model 2m
- Create the FriendWrapper 3m
- Implement INotifyDataErrorInfo 5m
- Add Some Validation Logic 2m
- Display the Error in the Tooltip 4m
- Display the Error Below the TextBox 4m
- Create a NotifyDataErrorInfoBase Class 3m
- Introduce a ModelWrapper Class 6m
- Trigger Validation in the ModelWrapper 4m
- Validate by Using Data Annotations 8m
- Enable and Disable the Save Button 4m
- Summary 1m
- Introduction 1m
- How Entity Framework Tracks Changes 3m
- Plan the DbContext Lifetime 2m
- Create the FriendRepository 6m
- Use a Single FriendRepository per Detail View 7m
- Add an HasChanges Method to the Repository 1m
- Enable and Disable the Save Button 5m
- Block Navigation from a Changed Friend 5m
- Create a MessageDialogService 5m
- Remove Selection in the Navigation 7m
- Style the Navigation 3m
- Summary 2m
- Introduction 2m
- Create the Meeting Entity 5m
- Create the MeetingRepository 4m
- Wrap the Meeting Entity 1m
- Create the MeetingDetailViewModel 5m
- Create the MeetingDetailView 3m
- Load Meetings in the NavigationViewModel 7m
- Extend the NavigationView 4m
- Instantiate the MeetingDetailViewModel 4m
- Use Autofac’s IIndex Interface 4m
- Add New Meetings 4m
- Synchronize the Start and End Date 3m
- Summary 1m
- Introduction 2m
- Adjust the MainViewModel 8m
- Add a TabControl to the MainWindow 4m
- Display a Title in the Tab Header 3m
- The Plan to Close a Tab 1m
- Introduce the CloseDetailViewCommand 2m
- Publish the AfterDetailClosedEvent 1m
- Subscribe to the Event to Close the Tab 2m
- Check for Changes When Closing a Tab 4m
- Be Aware of Refresh Issues in a Tabbed UI 1m
- Refresh the MeetingDetailView After Updating a Friend 3m
- Reload a Single Friend with Entity Framework 4m
- Refresh the MeetingDetailView After Deleting a Friend 2m
- Open and Close Tabs for New Items 6m
- Summary 1m
- Introduction 1m
- Integrate the Detail View for Programming Languages 7m
- Set up the ProgrammingLanguageRepository 2m
- Implement the ProgrammingLanguageDetailViewModel 3m
- Set up the View with a DataGrid 2m
- Refresh the Programming Languages in Open Friend Tabs 3m
- Add and Remove Programming Languages 4m
- Catch Exceptions When Saving Referenced Languages 2m
- Check if a Programming Language Is Referenced 2m
- Summary 1m
- Introduction 2m
- Two Users Saving the Same Friend 2m
- Handle Concurrency Conflicts 2m
- Optimistic Concurrency with Entity Framework 2m
- Add a Row Version to the Friend Entity 6m
- Handle the DbUpdateConcurrencyException 6m
- When Another User Has Deleted an Entity 6m
- Move the Exception Handling to the Base Class 5m
- Summary 1m
- Introduction 2m
- What the Final Application Should Look Like 2m
- Ways to Style Your WPF Application 2m
- Add Mahapps.Metro to the FriendOrganizer Application 6m
- Style the Navigation and the Tab Headers 5m
- Fix the Font Sizes for Buttons and ComboBoxes 4m
- Adjust the Colors of Validation Errors and Controls 4m
- Use the TextBox Style from Mahapps.Metro 3m
- Use the Mahapps.Metro MessageDialog 7m
- The Final FriendOrganizer Application 3m
- Course Summary 2m
Course FAQ
Windows Presentation Foundation (WPF) is used to render user interfaces in Windows apps.
Model–view–viewmodel (MVVM) is a code pattern used primarily with WPF that helps your code stay structured and clean.
Code First is one of the three approaches to Entity Framework, helping you create a usable database.
We will be using Visual Studio to build our app.
This course is for anyone who wants to create enterprise apps with WPF.
You should already be familiar with C#. Knowing XAML is a plus.
In this course, you will learn how to build a database-referencing app that includes business features like create, read, update, and more.