C# Swashback.OData中OData函数的复杂类型参数

C# Swashback.OData中OData函数的复杂类型参数,c#,.net,odata,swagger,swashbuckle,C#,.net,Odata,Swagger,Swashbuckle,我有OData功能: public class ItemsController : ODataController { [HttpGet] public async Task<IHttpActionResult> SomeFunc([FromODataUri]SomethingDTO something) { return Ok(1); } } 和ODataConfig: public static class WebApiConfi

我有OData功能:

public class ItemsController : ODataController
{
    [HttpGet]
    public async Task<IHttpActionResult> SomeFunc([FromODataUri]SomethingDTO something)
    {
        return Ok(1);
    }
}
和ODataConfig:

public static class WebApiConfig
{
    public static void Configure(HttpConfiguration config)
    {
        ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
        builder.EnableLowerCamelCase();
        builder.EntitySet<Item>("Items");

        var itemsEntityType = builder.EntitySet<Item>("Items").EntityType;

        var func = itemsEntityType.Collection.Function("SomeFunc");
        func.Parameter<SomethingDTO>("something");
        func.Returns<int>();

        config.MapODataServiceRoute("odata", "odata", builder.GetEdmModel());
    }
}
公共静态类WebApiConfig
{
公共静态无效配置(HttpConfiguration配置)
{
ODataConventionModelBuilder=新ODataConventionModelBuilder();
builder.EnableLowerCamelCase();
建造商实体集(“项目”);
var itemsEntityType=builder.EntitySet(“Items”).EntityType;
var func=itemsEntityType.Collection.Function(“SomeFunc”);
函数参数(“某物”);
func.Returns();
config.MapODataServiceRoute(“odata”,“odata”,builder.GetEdmModel());
}
}
这很好,但当我打开swagger页面时,应用程序抛出异常:Swashback.OData.dll中发生了类型为“System.ArgumentOutOfRangeException”的异常,但未在用户代码中处理 参数名称:TypeKind

当我删除这个字符串
函数参数(“某物”)从OData配置中,Swagger页面可以正常工作。但OData功能出现故障

如何在swashback.OData中定义OData函数的复杂参数

.NET 4.5.2

Microsoft.AspNet.OData version=“6.0.0”

Swashback version=“5.6.0”

Swashback.Core version=“5.6.0”


Swashback.OData version=“3.5.0”

与我的问题相同,但我使用的是Microsoft.Aspnet.OData 7.1.0、Swashback.Core 5.6.0 Swashback.OData 3.5.0
public static class WebApiConfig
{
    public static void Configure(HttpConfiguration config)
    {
        ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
        builder.EnableLowerCamelCase();
        builder.EntitySet<Item>("Items");

        var itemsEntityType = builder.EntitySet<Item>("Items").EntityType;

        var func = itemsEntityType.Collection.Function("SomeFunc");
        func.Parameter<SomethingDTO>("something");
        func.Returns<int>();

        config.MapODataServiceRoute("odata", "odata", builder.GetEdmModel());
    }
}