我有一个 n 层应用程序。客户端和应用服务器使用 OData 协议进行交互。我只能使用实体框架提供的数据库实体来实现排序/过滤/分页。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 提供 OData 查询,例如 hxxp://...service.svc/MyEntity?$skip=20&$top=10 我的服务提供基于 ObjectContext 的 OData API,从我的数据库生成。
我需要为存储过程结果提供相同的能力,这将返回一个复杂类型的列表。可能有一些方法可以在 ObjectContext 中实现我自己的实体并使用存储过程使用它而不映射到数据库实体?或者可能是其他解决方案?
任何人都可以分享最佳实践吗?