Just worked through the Microsoft.ML C# code at https://github.com/dotnet/machinelearning-samples/tree/master/samples/csharp/getting-started/MatrixFactorization_ProductRecommendation
Layed it out a little differently to better organise things.
Also included a save and load feature just to explore that aspect of working with a model and test that it worked.