The problem is a bit of "sloppiness" in the spelling of "TimeSlot" in various places.
Your binding to "s" is a binding to the Session
type. The Session
type itself dictates the spelling of any of its navigation properties. Everything else is irrelevant.
The metadata for Session
is generated on the server based on the C# "Session" class. There you will find that the navigation property is spelled "TimeSlot".
Your client is using the Breeze NamingConvention.camelCase
to translate between the preferred PascalCasing of C# and the preferend camelCasing in JavaScript apps. Therefore, on the Breeze client you should expect "TimeSlot" navigation property to become "timeSlot".
Entity names are not translated by the
NamingConvention
(at this time). The C# type, "TimeSlot" is also spelled "TimeSlot" for the JavaScript type.
Every other spelling everywhere else is irrelevant for this binding.
You may find the "Query result debugging" documentation topic helpful.