0

我在虚拟机上运行 MDS 并尝试从我的主机操作系统访问该服务。我已经能够向数据库添加一些内容,但是我的数据到处都是,并且在主数据管理器(网站)中我看不到新成员。我想我不应该使用 Attributes 而是其他东西,但是什么和如何?是否有教程,因为我找不到任何...?

这是我正在使用的代码:

International international = new International();

EntityMembers entityMembers = new EntityMembers();

// Set the modelId, versionId, and entityId.
entityMembers.ModelId = new Identifier { Name = modelName };
entityMembers.VersionId = new Identifier { Name = versionName };
entityMembers.EntityId = new Identifier { Name = entityName };
entityMembers.MemberType = memberType;

Collection<Member> members = new Collection<Member>();
Member aNewMember = new Member();
aNewMember.MemberId = new MemberIdentifier() { Name = employee.FullName, Code = aNewCode, MemberType = memberType };

Collection<MDS.Attribute> attributes = new Collection<MDS.Attribute>();

MDS.Attribute attrOrgUnit = new MDS.Attribute();
attrOrgUnit.Identifier = new Identifier() { Name = "OrganizationalUnit" };
attrOrgUnit.Value = employee.OrganizationalUnit;
attrOrgUnit.Type = AttributeValueType.String;
attributes.Add(attrOrgUnit);

aNewMember.Attributes = attributes.ToArray();
members.Add(aNewMember);
entityMembers.Members = members.ToArray();

// Create a new entity member
OperationResult operationResult = new OperationResult();
clientProxy.EntityMembersCreate(international, entityMembers, false, out operationResult);
HandleOperationErrors(operationResult);
4

1 回答 1

2

我已经能够解决我自己的问题。

首先:没有必要使用集合创建单独的变量并将它们转换为数组。教程中的代码有效,但没有提到,在添加服务引用时,您必须对其进行配置(右键单击服务引用 -> 配置)以使用集合作为“集合类型”而不是数组并生成消息合同。

其次,上面带有属性的代码是正确的并且可以完美运行。我无法添加带有属性的消息的问题是无关的。这是我的主机操作系统和来宾操作系统之间的连接/身份验证问题。

希望这可以帮助某人。

于 2012-10-22T07:31:10.043 回答