我相信有人可以帮我在这里,我真的很想我的头发为什么我的代码不起作用。基本上我有一个自定义实体,它有一个列表(以及列表中的所有列表成员)和我的自定义实体(在post-create上注册)我创建了另一个列表,将所有列表成员导入到另一个列表中。现在我需要为每个列表成员检索entityID(为了让我添加它们)我的代码如下(仅供一个列表成员用于测试目的):
// GET LIST MEMBER
QueryByAttribute query = new QueryByAttribute("listmember");
query.AddAttributeValue("listid", m_list_ID.Id);
ColumnSet cs = new ColumnSet();
cs.AddColumns("entityid");
query.ColumnSet = cs;
EntityCollection entityCollection = service.RetrieveMultiple(query);
Guid g = Guid.Empty;
g = (Guid)entityCollection.Entities[0].Attributes["entityid"];
要检查guid,我将另一个字段上的GUID作为字符串输出,以检查它是否正确,但是当我尝试保存表单时,我收到错误“System.InvalidCastException:指定的强制转换无效。 ”。另一方面,我确信它会检查实体,因为我已完成计数,它显示了正确的实体数,但由于某种原因不允许我获取entityId属性。如果somone可以解释这里发生的事情,我将不胜感激。预先感谢。
答案 0 :(得分:0)
entityid
实体的listmember
属性属于EntityReference
类型。如果您将演员表更改为EntityReference
,则可以通过Id
属性引用GUID。