Add validation of user input data.
Add more feedback for the user (e.g., confirm cancel before closing dialog or application, provide confirmation that changes were saved).
Add code to enable/disable the Save button, so it is enabled only when there is dirty data to be saved.
Consider where additional use of LINQ might be helpful.
Consider replacing the basic INotifyPropertyChanged implementation with use of the ReactiveUI.WinForms libary to implement MVVM.
Complete implementation of the MVVM design pattern by separating the Model and ViewModel code into separate projects.
https://docs.microsoft.com/en-us/ef/ef6/fundamentals/databinding/winforms
https://www.codemag.com/article/0907101/INotifyPropertyChanged-Is-Obsolete
https://github.com/gardnerbp/WinFormsRXUI
https://www.codeproject.com/Articles/16408/Discard-changes-in-business-objects
Programming Reactive Extensions and LINQ by Jesse Liberty and Paul Betts
Xamarin Show Episode 5: MVVM & Data Binding with Xamarin.Forms