public void UpdateTitles(IEnumerable <MenuViewModel> models, string culture) { var menuIds = models.Select(m => m.MenuName).ToList(); var dbRows = (from t in context.NamesTbl where t.Culture == culture && menuIds.Contains(t.Name) select t).ToList(); foreach (MenuViewModel title in models) { var modify = dbRows.FirstOrDefault(t => t.Name == title.MenuName); if (modify != null) // modified row { if (modify.Title != title.Title) // title has been changed { modify.Title = title.Title; context.NamesTbl.Attach(modify); context.Entry(modify).State = EntityState.Modified; } } else // new row { var newTitle = new NameTbl { Name = title.MenuName, Title = title.Title, Culture = culture }; context.NamesTbl.Add(newTitle); } } }
public void Add(NameTbl name) { context.NamesTbl.Add(name); }