Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# PathTemplate.StartsWith(“~/entityset”在ODataWebAPI路由中具体做什么_C#_.net_Asp.net Mvc_Asp.net Web Api_Odata - Fatal编程技术网

C# PathTemplate.StartsWith(“~/entityset”在ODataWebAPI路由中具体做什么

C# PathTemplate.StartsWith(“~/entityset”在ODataWebAPI路由中具体做什么,c#,.net,asp.net-mvc,asp.net-web-api,odata,C#,.net,Asp.net Mvc,Asp.net Web Api,Odata,我搞不懂这段代码是干什么的 public override string SelectController(ODataPath odataPath, HttpRequestMessage request) { return odataPath != null && odataPath.PathTemplate.StartsWith("~/entityset", StringComp

我搞不懂这段代码是干什么的

public override string SelectController(ODataPath odataPath, HttpRequestMessage request)
{
    return odataPath != null &&
           odataPath.PathTemplate.StartsWith("~/entityset", 
                                  StringComparison.OrdinalIgnoreCase) ? "A" : null;
}
我知道语法含义,但是
从(“~/entityset”
开始做什么

问题是
~/entityset
。我没有关于这个实体集是什么以及从哪里获取的参考。我想它可能代表某个实体集,哪一个


检查URL是某种默认的OData机制吗?

这用于确定OData内的路由。以下是一些示例URL及其路径模板,它们都以~/entityset开头

要找出它是哪个实体集,可以查看组成路径的线段

((EntitySetPathSegment)request.ODataProperties().Segments.First()).EntitySetName

Segments.First()不一定是EntitySetPathSegment,除非路径以~/entityset开头,所以请确保先进行检查。

我将查看中间件上的OdataPath.PathTemplate配置。也可能是有人将“~/entityset”更改为“a”@Bart中间件?我正在使用EF创建模型,然后在路由中使用标准的SelectController和SelectAction函数。可能相关:查看Startup.cs和/或ODataConfiguration files.btw,这可能会有帮助:
"~/entityset/key"
"~/entityset/key/navigation"
((EntitySetPathSegment)request.ODataProperties().Segments.First()).EntitySetName