public static LandmarkingContext GetLandmarkingContext(string dbName, bool seedData = true) { // Create options for DbContext instance var options = new DbContextOptionsBuilder <LandmarkingContext>() .UseInMemoryDatabase(databaseName: dbName) .Options; // Create instance of DbContext var dbContext = new LandmarkingContext(options); // Add users in memory if (seedData) { dbContext.Seed(); } return(dbContext); }
// Seeds data into Mock LandmarkingContext db public static void Seed(this LandmarkingContext dbContext) { // retreive JSON user data var userData = System.IO.File.ReadAllText("Data/userData.json"); var users = JsonConvert.DeserializeObject <List <User> >(userData); // Add Users for DbContext instance foreach (var user in users) { byte[] passwordHash, passwordSalt; CreatePasswordHash("password", out passwordHash, out passwordSalt); user.PasswordSalt = passwordSalt; user.PasswordHash = passwordHash; user.Username = user.Username.ToLower(); dbContext.Add(user); } dbContext.SaveChanges(); }
//Constructor to set db context public LandmarkingRepository(LandmarkingContext context) { _context = context; }