Well, not shockingly, I needed to manually add my entity to the entity set "Classes1" in my ObjectContext. Shame on me for not trying this first, but I assumed that all that detailed DataGrid binding would have provided the capability. My new rule of thumb: If there's any sort of property information being included in an entity by navigation property, I'm going to have to manually make sure those entities are added to the proper Entity Set.
Sigh I'm dumb for not having learned my lesson before...embarrassing...my updated code is below:
public void SaveClassesWithInstructors()
{
foreach(Class1 cl in this._classesCollection.Where(x => x.ClassID == 0))
{
var classToCreate = this._context.Classes1.Create();
classToCreate.InstructorID = ca.InstructorID;
classToCreate.ClassName = ca.ClassName;
this._context.Classes1.Add(classToCreate);
this._context.SaveChanges();
}
RaisePropertyChanged("ClassesCollection");
}
So I guess, at least for anyone who needs a complete how-to on how to do navigational binding and SaveChanges() from DataGrid columns using Entity Framework...here 'tis.