OData打破变革

时间:2016-09-16 17:44:54

标签: c# odata

OData的最新更新破坏了我的代码,我对如何解决它感到茫然。到现在为止,我一直非常高兴地使用

https://my.url.com/en-GB/odata/applicationuser(2)?$expand=FacebookProfile,TwitterProfile,GoogleProfile

现在,我意识到这可能会破坏OData规范,并且可能需要使用

https://my.url.com/en-GB/odata/applicationuser(2)?$expand=FacebookProfile($select=Name)...

相反,但使用其中任何一个都会给出

"message":"The query specified in the URI is not valid. The property 'FacebookProfile' cannot be used in the $expand query option."

这有点不太有帮助。它肯定可以在$ expand查询选项中使用,直到几天前。

我尝试过声明复杂类型和属性的事情:

protected override EntitySetConfiguration<ApplicationUser> CreateEntitySet(ODataConventionModelBuilder builder, Type controllerType)
{
    builder.ComplexType<FacebookProfile>();
    builder.ComplexType<TwitterProfile>();
    builder.ComplexType<MicrosoftAccountProfile>();
    builder.ComplexType<GoogleProfile>();
    builder.ComplexType<AzureActiveDirectoryProfile>();
    var userType = builder.EntityType<ApplicationUser>();
    userType.ComplexProperty(u => u.FacebookProfile);
    return base.CreateEntitySet(builder, controllerType);
}

但到目前为止没有任何效果。

有谁知道最新的OData NuGet更新中发生了什么:具体来说,收紧了什么?总之,我的旧实现如何违反规范?

0 个答案:

没有答案