Sugestion on a better way to code this EF update?
As @dreza mentioned, you might want to move the code around your LINQ-Statements to a method.

public void changeCategoryTo(String newCategory){
   var record = (from n in db.Navigation where n.Category == newCategory
                   &amp;&amp; n.SectionId == SectionID select n).First();
   record.Category = newCategory;
}


this greatly reduces duplication. 

further points:


Try to stick to either camelCase or MixedCase to have consistent and speaking variable names:


something like var Category, String PrimaryCategory and similar are diffifult to associate to clear roles in your code.
try to refrain from naming your variables after their type only, this leads to greatly increased effort when handling multiple objects of the same type.

Your if-statement for updating the SecondaryCategory is different from the if-statement for updating PrimaryCategory