Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using LinqToExcel;
- using System.Threading.Tasks;
- namespace AbiliticsTask
- {
- class Startup
- {
- static async Task Main(string[] args)
- {
- using (var dbContext = new ApplicationDbContext())
- {
- dbContext.Database.EnsureCreated();
- var RowNum = 2;
- var excel = new ExcelQueryFactory(@"Nobel Prize Winners.xlsx");
- excel.AddMapping<NobelWinner>(x => x.BirthPlace, "Birth Place");
- excel.AddMapping<NobelWinner>(x => x.PrizeName, "Prize Name");
- excel.AddMapping<NobelWinner>(x => x.FieldOrLanguage, "Field/Language");
- var ws = excel.Worksheet<NobelWinner>("nobel");
- foreach (var row in ws)
- {
- row.Id = RowNum;
- var entity = await dbContext.NobelWinners.FindAsync(RowNum);
- var alreadyExist = entity != null;
- if (alreadyExist)
- {
- entity.Year = row.Year;
- entity.Category = row.Category;
- entity.Name = row.Name;
- entity.Birthdate = row.Birthdate;
- entity.BirthPlace = row.BirthPlace;
- entity.County = row.County;
- entity.Residence = row.Residence;
- entity.FieldOrLanguage = row.FieldOrLanguage;
- entity.PrizeName = row.PrizeName;
- entity.Motivation = row.Motivation;
- }
- else
- {
- await dbContext.NobelWinners.AddAsync(row);
- }
- await dbContext.SaveChangesAsync();
- RowNum++;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement