public void SaveCall(CallModel callModel) { var existingCallRecord = DataAccessStatistics.Calls.SingleOrDefault(x => x.CallId == callModel.CallId); if (existingCallRecord == null && !DataAccessStatistics.Calls.Any(x => x.CallId == callModel.CallId)) { DataAccessStatistics.Calls.Add(callModel.CallModelToDomainObject()); } else if (existingCallRecord != null)//update { DataAccessStatistics.Entry(existingCallRecord).CurrentValues.SetValues(callModel); } DataAccessStatistics.SaveChanges(); }