在MetadataCache </entityname>中找不到名称为<entityname>的实体

时间:2013-06-10 22:13:25

标签: javascript dynamics-crm-2011 dynamics-crm

在针对Dynamics CRM 2011的Microsoft动手实验室之后,我尝试将自定义视图添加到响应“onchange”到特定属性的表单。这是我添加自定义视图的功能:

function HandleOnChangeDVMInformationLookup()
{
var locAttr = Xrm.Page.data.entity.attributes.get("new_referringdvm");

if (locAttr.getValue() != null)
{
    var dvmId = locAttr.getValue()[0].id;

    var viewDisplayName = "DVM Information";
    var viewIsDefault = true;

    var fetchXml  = '<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false"><entity name="dvminformation"><attribute name="dvminformation_id"/><attribute name="dvminformation_name"/><attribute name="new_firstname"/><attribute name="new_lastname"/><filter type="and"><condition attribute="id" operator="eq"  value="' +dvmId +'"/></filter></entity></fetch>';

    var layoutXml = '<grid name="resultset" object="10001" jump="dvminformation_name" select="1" icon="1" preview="1"><row name="result" id="dvminformation_id"><cell name="dvminformation_name" width="300" /><cell name="new_firstname" width="125"/></row></grid>';

    var control = Xrm.Page.ui.controls.get("new_dvm_information");
    control.addCustomView("62e0ee43-ad05-407e-9b0b-bf1f821c710e", "dvminformation", viewDisplayName, fetchXml, layoutXml, viewIsDefault );
}
}

在表单中更改选定的'dvm'并触发此功能后,我收到以下错误:

  

未处理的异常:System.ServiceModel.FaultException`1 [[Microsoft.Xrm.Sdk.OrganizationServiceFault,Microsoft.Xrm.Sdk,Version = 5.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35]]:具有名称的实体在MetadataCache.Detail中找不到='dvminformation':        -2147217150          在MetadataCache中找不到名称为''dvminformation'的实体。     2013-06-10T22:01:49.4392114Z             

'dvminformation'不是我刚刚在XML中定义的实体名称吗?我错过了一步吗?

感谢。

3 个答案:

答案 0 :(得分:4)

dvminformation不太可能是真正的实体名称。您确定存在具有该名称的实体吗?

打开解决方案并查找实体,然后检查其架构名称。

如果是自定义实体,则其格式通常为prefix_name,例如new_timelinenew_alert,在您的情况下可能只是dvm_information。如果dvm是您的解决方案前缀。

只有系统实体的名称没有下划线,例如contactaccountincidentdvminformation对我来说看起来不像是一个系统实体。

答案 1 :(得分:0)

我与customerAddress实体有相同的错误消息。 事实证明我将实体引用为"customerAddress"(注意驼峰情况)。

但CRM要求所有小写的实体和属性的逻辑名称。所以"customeraddress"确实有效。

答案 2 :(得分:0)

检查您是否连接到正确的组织(web.config?) See