Changed the virtual Person NameFields (FirstName, FullName, FullNameLastFirst) to be actual Computed columns in the person table, and also able to be correctly calculated prior to saving changes.  This lets these fields be included in Linq queries just like any other regular field.