在WCF数据服务中,如何更改我的实体的可见名称?

问题描述:

使用WCF数据服务我使用的数据模型包含具有特定于模型的名称的实体。我想通过Odata公开他们,但名称不同。在WCF数据服务中,如何更改我的实体的可见名称?

例如,我们有一个名为UserWithLeastPrivilege的实体,这是一个有问题的名称,至少可以说。我希望Odata客户端只需看到用户你能做到这一点吗?

此:

<service> 
    <workspace> 
    <atom:title>Default</atom:title> 
    <collection href="UsersWithLeastPriv"> 
     <atom:title>UsersWithLeastPriv</atom:title> 
    </collection> 
    </workspace> 
</service> 

变为:

<service> 
    <workspace> 
    <atom:title>Default</atom:title> 
    <collection href="User"> 
     <atom:title>User</atom:title> 
    </collection> 
    </workspace> 
</service> 

不幸的是,这是不容易实现的。 EF提供商目前不允许进行这种定制。你将不得不通过你的EF模型实现一个定制的提供者,这是很多工作。