private static void SyncTeamName(this TeamV teamV, IRepositoryProvider dbProvider, string description, TeamNameType teamNameType, LanguageType languageType) { var existingEntity = teamV.TeamNames.FirstOrDefault(f => f.TeamNameType == teamNameType && f.LanguageType == languageType); if (!string.IsNullOrWhiteSpace(description)) { if (existingEntity != null) { existingEntity.Description = description.Trim(); } else { var newTeamName = new TeamName() { PrimaryKey = Guid.NewGuid(), TeamVKey = teamV.PrimaryKey, TeamNameType = teamNameType, LanguageType = languageType, Description = description.Trim() }; teamV.TeamNames.Add(newTeamName); dbProvider.Attach(teamV); } } else { if (existingEntity != null) { teamV.TeamNames.Remove(existingEntity); } } }