Skip to content

Instantly share code, notes, and snippets.

@medhatelmasry
Created September 20, 2025 23:52
Show Gist options
  • Select an option

  • Save medhatelmasry/15c7e2403ca9e0eacc50774b8c32155c to your computer and use it in GitHub Desktop.

Select an option

Save medhatelmasry/15c7e2403ca9e0eacc50774b8c32155c to your computer and use it in GitHub Desktop.
ApplicationDbContext
public class ApplicationDbContext : DbContext {
public DbSet<Beverage> Beverages => Set<Beverage>();
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options) { }
protected override void OnModelCreating(ModelBuilder modelBuilder) {
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Beverage>().HasData(GetBeverages());
}
private static IEnumerable<Beverage> GetBeverages() {
string[] p = { Directory.GetCurrentDirectory(), "wwwroot", "beverages.csv" };
var csvFilePath = Path.Combine(p);
var config = new CsvConfiguration(CultureInfo.InvariantCulture) {
Encoding = Encoding.UTF8,
PrepareHeaderForMatch = args => args.Header.ToLower(),
};
var data = new List<Beverage>().AsEnumerable();
using (var reader = new StreamReader(csvFilePath)) {
using (var csvReader = new CsvReader(reader, config)) {
data = csvReader.GetRecords<Beverage>().ToList();
}
}
return data;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment