问题描述
我是 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 (将#修改为@)