【发布时间】:2016-08-11 03:19:21
【问题描述】:
我正在使用 CRM2016
我创建了一个测试实体来复制问题
我没有对其进行任何自定义。我用默认字段和表单创建了一条新记录。然后我尝试为它访问webapi
http://localhost/CRMDataBase/api/data/v8.0/new_test(bgcs0249-0a06-e611-941a-003002djlnc)
它运行良好并带来了记录。然后我删除了记录,为它创建了一个业务流程,只有一个阶段和一个步骤
我激活它并添加了一个新的测试记录并尝试访问 webapi url,它抛出了以下错误
{ “错误”:{ "code":"","message":"属性 'stageid' 属于无法识别的 EdmPropertyKind。实体 new_test 具有重复的导航属性 名字。所有属性名称(导航和结构属性)必须是 在实体中是唯一的 ","innererror":{ “消息”:“属性 'stageid' 属于无法识别的 EdmPropertyKind。实体 new_test 具有重复的导航属性 名字。所有属性名称(导航和结构属性)必须是 在实体中唯一 ","type":"Microsoft.Crm.CrmHttpException","stacktrace":" 在 Microsoft.Crm.Extensibility.OData.CrmODataEntityTypeSerializer.CreateSelectExpandNode(EntityInstanceContext entityInstanceContext)\r\n 在 System.Web.OData.Formatter.Serialization.ODataEntityTypeSerializer.WriteEntry(对象 图,ODataWriter 写入器,ODataSerializerContext writeContext)\r\n
在 System.Web.OData.Formatter.Serialization.ODataFeedSerializer.WriteFeed(IEnumerable 可枚举,IEdmTypeReference feedType,ODataWriter writer, ODataSerializerContext writeContext)\r\n 在 Microsoft.Crm.Extensibility.OData.CrmODataFeedSerializer.WriteObject(对象 graph, Type type, ODataMessageWriter messageWriter, ODataSerializerContext writeContext)\r\n 在 System.Web.OData.Formatter.ODataMediaTypeFormatter.WriteToStream(类型 类型、对象值、流 writeStream、HttpContent 内容、 HttpContentHeaders contentHeaders)\r\n 在 System.Web.OData.Formatter.ODataMediaTypeFormatter.WriteToStreamAsync(类型 类型、对象值、流 writeStream、HttpContent 内容、 TransportContext transportContext, CancellationToken cancelToken)\r\n--- 来自先前位置的堆栈跟踪结束 抛出异常的地方 ---\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)\r\n 在 System.Web.Http.WebHost.HttpControllerHandler.d__1b.MoveNext()","内部异常":{ "message":"属性 'stageid' 属于无法识别的 EdmPropertyKind。","type":"Microsoft.OData.Core.ODataException","stacktrace":" 在 Microsoft.OData.Core.UriParser.Parsers.SelectPathSegmentTokenBinder.ConvertNonTypeTokenToSegment(PathSegmentToken tokenIn, IEdmModel 模型, IEdmStructuredType edmType, ODataUriResolver 解析器)\r\n 在 Microsoft.OData.Core.UriParser.Visitors.SelectPropertyVisitor.ProcessTokenAsPath(NonSystemToken tokenIn)\r\n 在 Microsoft.OData.Core.UriParser.Visitors.SelectPropertyVisitor.Visit(NonSystemToken tokenIn)\r\n 在 Microsoft.OData.Core.UriParser.Parsers.SelectBinder.Bind(SelectToken tokenIn)\r\n 在 Microsoft.OData.Core.UriParser.Parsers.SelectExpandBinder.Bind(ExpandToken tokenIn)\r\n 在 Microsoft.OData.Core.UriParser.Parsers.SelectExpandSemanticBinder.Bind(IEdmStructuredType elementType,IEdmNavigationSource navigationSource,ExpandToken expandToken、SelectToken selectToken、ODataUriParserConfiguration 配置)\r\n 在 Microsoft.OData.Core.UriParser.ODataQueryOptionParser.ParseSelectAndExpand()\r\n 在 Microsoft.Crm.Extensibility.OData.CrmODataEntityTypeSerializer.CreateSelectExpandNode(EntityInstanceContext 实体实例上下文)" } } } }
如果我删除所有记录-> 停用业务流程-> 添加新数据然后检查 webapi,它工作正常。但是当我激活业务流程并添加新数据时,我收到了上述错误 P.S:我没有对业务流程和实体进行任何编码/定制。但我仍然收到此错误
可以做些什么来解决这个问题?
【问题讨论】:
-
即使我也面临这个问题。你找到解决办法了吗?
-
看起来更像是 API 生成中的错误,尝试联系 MS 支持?
标签: dynamics-crm-2011 dynamics-crm dynamics-crm-2013 dynamics-crm-2015 dynamics-crm-2016