n 層アプリケーションがあります。クライアントとアプリケーション サーバーは、OData プロトコルと対話します。Entity Framework によって提供されるデータベース エンティティでのみ、並べ替え/フィルター/ページネーションを実装できます。C#
DataServiceQuery<MyEntity> CAQuery = WebService.MyEntity;
CA = new QueryableDataServiceCollectionView<WagonReestr>(WebService, CAQuery);
CA.PageSize = 10;
CA.MoveToFirstPage();
CA.Load(true);
XAML
<t:RadGridView Grid.Row="2" ItemsSource="{Binding Path=CA}"
IsBusy="{Binding Path=CA.IsBusy}"
ShowGroupPanel="False" AutoGenerateColumns="True"/>
<t:RadDataPager Grid.Row="3" Source="{Binding Path=CA}"/>
DataServiceQuery は、hxxp://...service.svc/MyEntity?$skip=20&$top=10 などの OData クエリを提供します。私のサービスは、データベースから生成された ObjectContext に基づく OData API を提供します。
複合型のリストを返すストアド プロシージャの結果に同じ機能を提供する必要があります。ObjectContext に独自のエンティティを実装し、データベース エンティティにマッピングせずにストアド プロシージャで操作する方法があるのではないでしょうか? それとも他の解決策でしょうか?
誰でもベストプラクティスを共有できますか?