在 mds

问题描述

我是 mds 的新手,在围绕我新创建的实体运行验证代码时遇到了一些问题。 下面是我用来发布新实体的代码

    EntityMembersGetRequest request = new EntityMembersGetRequest();
    request.MembersGetCriteria = new EntityMembersGetCriteria();
    request.MembersGetCriteria.ModelId = new Identifier() { Name = modelName };
    request.MembersGetCriteria.VersionId = new Identifier() { Name = "VERSION_1" };
    request.MembersGetCriteria.EntityId = new Identifier() { Name = "myentity" };
    Member m = new Member();
    m.Attributes = new Collection<Attribute>();
    m.Attributes.Add(new Attribute() { Identifier = new Identifier() { Name = "holidayCalendar" },Value = holidayCalendarCode,Type = AttributeValueType.String });
    m.Attributes.Add(new Attribute() { Identifier = new Identifier() { Name = "calendarDate" },Value = str,Type = AttributeValueType.DateTime });
    createRequest.Members.Members.Add(m);
    createRequest.MemberSaveBehavior = MemberTransactionBehavior.AllOrnothingByMember;
    createRequest.ReturnCreatedIdentifiers = true;
    var r = await clientProxy.EntityMembersCreateAsync(createRequest);

所有这些都运行良好,并且能够发布此实体。但我在验证部分卡住了。

    var vpr = new ValidationProcessRequest
{
    ValidationProcessCriteria = new ValidationProcessCriteria()
};
vpr.ValidationProcessCriteria.Members = new Collection<MemberIdentifier>();
vpr.ValidationProcessCriteria.ModelId = new Identifier { Name = modelName };
vpr.ValidationProcessCriteria.VersionId = new Identifier { Name = "VERSION_1" };
vpr.ValidationProcessCriteria.EntityId = new Identifier { Name = "myentity" };
var membersTovalidate = r.CreatedMembers.Select(c => new MemberIdentifier() { Code = c.Code });
vpr.ValidationProcessCriteria.Members = new Collection<MemberIdentifier>(membersTovalidate.ToList());
var vo = new ValidationProcessOptions
{
    CommitVersion = false,ReturnValidationResults = true
};
vpr.ValidationProcessOptions = vo;
var result = await clientProxy.ValidationProcessAsync(vpr);
if (result.OperationResult.Errors.Any())
{
     Dictionary<string,object> errors = new Dictionary<string,object>();
     
     //below line fails
     123-- result.OperationResult.Errors.ToList().ForEach(s => { errors.Add(s.Context.FullyQualifiedname,s.Description); });
     return errors;
}

下面是错误

System.NullReferenceException: Object reference not set to an instance of an object at line 123.

在这里遗漏了什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)