在WCF DataService中公开DataTransferObjects而不是实体

时间:2016-11-08 10:24:36

标签: c# entity-framework wcf odata

我目前正在尝试创建一个WCF DataService来公开一大堆数据。 数据显示在DevExpress网格中,该网格内置支持在服务器端进行分页,排序和查询。 如果我通过实体框架公开生成的实体,这绝对可以。

但是,我想公开DataTransfer对象,它们充当某种抽象。 我无法在网上找到一些信息来源......

也许你们中的一些人可以让我走向正确的方向。

1 个答案:

答案 0 :(得分:0)

创建一个DTO类,其中包含名为Id的属性,该属性具有[Key]属性。创建一个继承ODataController的类,这是您的控制器。在其上放置一个名为Get()的方法:

    [EnableQuery]
    public virtual IQueryable<MyDto> Get()
    {
    }

在方法中,使用IQueryable返回您的数据。在odata配置中调用DTO上的EntitySet之后。