Created
September 20, 2025 23:52
-
-
Save medhatelmasry/15c7e2403ca9e0eacc50774b8c32155c to your computer and use it in GitHub Desktop.
ApplicationDbContext
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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