Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.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# 尝试通过odata ws更新/删除实体时出现异常_C#_Asp.net_Web_Asp.net Web Api_Odata - Fatal编程技术网

C# 尝试通过odata ws更新/删除实体时出现异常

C# 尝试通过odata ws更新/删除实体时出现异常,c#,asp.net,web,asp.net-web-api,odata,C#,Asp.net,Web,Asp.net Web Api,Odata,我已经构建了一个asp.net web api来使用来自Microsoft Dynamics Navision OData v4 uri的数据。 当我尝试通过上下文检索单个实体时,会引发以下ODataException: 编写JSON响应时,必须指定用户模型,并且必须将实体集和实体类型传递给ODataMessageWriter.CreateODataResourceWriter方法,或者必须在正在编写的ODataResource或ODataResourceSet上设置ODataResourceS

我已经构建了一个asp.net web api来使用来自Microsoft Dynamics Navision OData v4 uri的数据。 当我尝试通过上下文检索单个实体时,会引发以下ODataException:

编写JSON响应时,必须指定用户模型,并且必须将实体集和实体类型传递给ODataMessageWriter.CreateODataResourceWriter方法,或者必须在正在编写的ODataResource或ODataResourceSet上设置ODataResourceSerializationInfo。”

示例说明性代码:

        public void Delete(string Name)
        {
            NAV.NAV nav = new NAV.NAV(new Uri("http:servername/db/ODataV4/Company"));
            nav.Credentials = CredentialCache.DefaultNetworkCredentials;
            NAV.Customer custToDel = nav.Customer.Where(c => c.Name == Name).First(); //the line of the exception
        }

进一步资料:
  • 使用Microsoft的“OData连接服务”扩展
  • webapiconfig.cs尚未修改
  • 在浏览部分不一致/不连续的odata文档以及缺乏复杂的协议知识后发布此问题。
    请让我知道任何进一步的信息需要,我没有包括在内。谢谢

    解决方案是将上下文声明中的uri更改为
    http:servername/db/ODataV4
    。我发现这是个很随意的东西