Как я могу получить отсортированный список сущностей из службы WCF Data? - PullRequest
0 голосов
/ 05 июня 2019

Я работаю над WCF, проектом EntityFramework 6. Я хочу получить метаданные объекта. В настоящее время метаданные дают список объектов, неупорядоченный по имени объекта. Как пример,

<EntityType Name="ABCAnalysis">
<Key>
<PropertyRef Name="Id"/>
</Key>
<Property Name="Id" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" p6:StoreGeneratedPattern="Identity" Nullable="false" Type="Edm.Guid"/>
<Property Name="ABCClassification" Type="Edm.String" Unicode="true" FixedLength="false" MaxLength="Max"/>
<Property Name="ABCDescription" Type="Edm.String" Unicode="true" FixedLength="false" MaxLength="Max"/>
</EntityType>
<EntityType Name="Translation">
<EntityType Name="Language">
<Key>
<PropertyRef Name="Id"/>
</Key>
<Property Name="Id" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" p6:StoreGeneratedPattern="Identity" Nullable="false" Type="Edm.Guid"/>
<Property Name="LanguageName" Type="Edm.String" Unicode="true" FixedLength="false" MaxLength="Max"/>
<Property Name="ISO" Type="Edm.String" Unicode="true" FixedLength="false" MaxLength="Max"/>
</EntityType>
<EntityType Name="AcademicTitle">
<Key>
<PropertyRef Name="Id"/>
</Key>
<Property Name="Id" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" p6:StoreGeneratedPattern="Identity" Nullable="false" Type="Edm.Guid"/>
<Property Name="AcademicTitleName" Type="Edm.String" Unicode="true" FixedLength="false" MaxLength="Max"/>
<Property Name="AcademicTitledescriptionMale" Type="Edm.String" Unicode="true" FixedLength="false" MaxLength="Max"/>
</EntityType>
<EntityType Name="Accountability">
<Key>
<PropertyRef Name="Id"/>
</Key>
<Property Name="Id" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" p6:StoreGeneratedPattern="Identity" Nullable="false" Type="Edm.Guid"/>
<Property Name="AccountabilityName" Type="Edm.String" Unicode="true" FixedLength="false" MaxLength="Max"/>
<Property Name="AccountabilityDescription" Type="Edm.String" Unicode="true" FixedLength="false" MaxLength="Max"/>
</EntityType>

Как вы видите, мой ответ не отсортирован по названию EntityType. Это случайно, и я не знаю почему.

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

Мои знания о WCF и EF 6 не так велики, и я не знаю, что это из-за моей плохой реализации WCF или EF. Или мне нужно где-нибудь сделать другую конфигурацию.

Любая помощь или комментарий будут очень полезны. (Хотя бы способ найти решение).

Если приведенный выше xml неясен ниже, я упоминаю ответ WCF по умолчанию.

<atom:title>Default</atom:title>
<collection href="ABCAnalysis">
<atom:title>ABCAnalysis</atom:title>
</collection>
<collection href="Translation">
<atom:title>Translation</atom:title>
</collection>
<collection href="Language">
<atom:title>Language</atom:title>
</collection>
<collection href="AcademicTitle">
<atom:title>AcademicTitle</atom:title>
</collection>
<collection href="Accountability">
<atom:title>Accountability</atom:title>
</collection>

И я ожидаю такой результат,

<collection href="ABCAnalysis">
<atom:title>ABCAnalysis</atom:title>
</collection>
<collection href="AcademicTitle">
<atom:title>AcademicTitle</atom:title>
</collection>
<collection href="Accountability">
<atom:title>Accountability</atom:title>
</collection>
<collection href="Language">
<atom:title>Language</atom:title>
</collection>
<collection href="Translation">
<atom:title>Translation</atom:title>
</collection>
...