Наконец-то я сам нашел решение этой проблемы. проблема заключалась в том, что я наследовал от нескольких классов, и, очевидно, когда свойство навигации определено как виртуальное в родительском классе, Odata увидит только нулевое значение родительского класса и никогда не распознает переопределенное свойство в дочернем классе.
Таким образом, мой совет при работе с Odata, пожалуйста, используйте только плоскую структуру классов, и если вам нужно работать с наследованием, используйте только интерфейсы, и класс, который вы передадите в модель Odata, не должен наследоваться от других классов, а только от интерфейсы.