public virtual async Task <long> AddAsync(TEntity obj) { try { _context.ChangeTracker.LazyLoadingEnabled = false; _context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; _context.ChangeTracker.AutoDetectChangesEnabled = false; await _context.Set <TEntity>().AddAsync(obj); await _context.SaveChangesAsync(); var keyName = _context.Model.FindEntityType(typeof(TEntity)) .FindPrimaryKey().Properties .Select(x => x.Name).Single(); return((long)obj.GetType().GetProperty(keyName).GetValue(obj, null)); } catch (DbUpdateConcurrencyException) { if (!_context.Set <TEntity>().Any()) { return(0); } else { throw; } } }
public async Task <IActionResult> Create([Bind("ID,Pin,Type,CurrentValue")] GPIO gPIO) { if (ModelState.IsValid) { _context.Add(gPIO); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(gPIO)); }
public async Task <IActionResult> Create([Bind("ID,Key,Type,Value,Description")] Setting setting) { if (ModelState.IsValid) { _context.Add(setting); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(setting)); }
public async Task InsertUserAnswersAsync(List <UserAnswers> userAnswers) { if (userAnswers != null && userAnswers.Count > 0) { foreach (var singleAnswer in userAnswers) { var answerItem = _context.Answers.First(s => s.ID == singleAnswer.Answers.ID); if (answerItem != null) { singleAnswer.Answers = answerItem; _context.UserAnswers.Add(singleAnswer); } } await _context.SaveChangesAsync(); } }