c# - 尝试通过 odata ws 更新/删除实体的异常
问题描述
我已经构建了一个 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
}
更多信息:
在浏览了部分不一致/不连续的 odata 文档以及缺乏对协议的复杂知识后发布此问题。请让我知道我没有包括的任何进一步的信息。谢谢!
解决方案
解决方案是将上下文声明中的 uri 更改为http:servername/db/ODataV4
. 无意间发现了这个很坑...
推荐阅读
- reactjs - handleChange formik 字段
- python - 如何每隔一段时间打印一些东西
- linux-kernel - 如何开始实现 Linux ECC 块设备包装器
- python - 如何关闭使用 asyncio.open_connection 创建的连接?
- c# - 在 Asp.net 核心 Razor 页面中上传图像时出错
- cmd - 如何使用 CMD/WMIC 获得准确的 CPU 温度?
- reactjs - 表单提交 React
- reactjs - 资源所有者密码凭证授予第一方登录的适用性
- reactjs - Webpack pdf 文件加载器
- c# - 如何将产量应用于递归函数