我编写了以下代码来查询Dynamics Nav 2016中的ODATA端点。我是通过创建ODATA连接的服务来完成此操作的。我已经在URL中传递了公司名称:
var navision = new Navision(
new Uri("http://navision:7048/navision/OData/Company('Company1')"));
foreach (var foo in await navision.Foo.ExecuteAsync())
{
Console.WriteLine(foo.Name);
}
是否可以查询Navision中的所有公司?省略/Company(...)
URL部分时,出现错误:
DataServiceClientException:无法处理请求,因为找不到默认的Microsoft Dynamics导航公司。您可以在服务配置文件中指定默认公司,或者为每个租户指定一个公司,或者可以以“ company = [name]”的形式添加查询字符串。您可以通过访问默认的OData Web服务公司来查看可用的公司。有关更多信息,请参见“帮助”中的“ OData Web服务”。
不同的公司在SQL上表示物理上不同的表,这些表的名称如[dbo].[CompanyName$TableName]
。Nav不会为您加入。如果您正在使用租户,则每个租户数据库中的表将均匀分布。
因此,您需要查询每个公司,然后合并获取的数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句