В следующем фрагменте кода я извлекаю заметки, относящиеся к заказу. Он отлично работает, только если notetext
содержит данные. Теперь, во время отладки, я обнаружил, что в другом случае это исключает исключение Object reference not set to an instance of an object
.Entity.Contains (AttributeName) работает для всех полей аннотаций, но не работает для notetext
Я думаю, что следующий фрагмент выглядит хорошо, но не уверен, чего не хватает, любая идея решить проблему?
private void fetchDocument(IOrganizationService service, Guid vOrderId)
{
EntityCollection results = null;
string tempNote = string.Empty;
string tempFileName = string.Empty;
ColumnSet cols = new ColumnSet("subject", "filename", "documentbody", "mimetype","notetext");
QueryExpression query = new QueryExpression {
EntityName = "annotation" ,
ColumnSet = cols,
Criteria = new FilterExpression
{
Conditions = {
new ConditionExpression("objectid",ConditionOperator.Equal,vOrderId)
}
}
};
results = service.RetrieveMultiple(query);
Entity defaultRecord = results.Entities.ElementAtOrDefault(0);
if(defaultRecord.Contains("notetext"))
{
tempNote = defaultRecord.GetAttributeValue<string>("notetext");
}
if (defaultRecord.Contains("filename"))
{
tempFileName = defaultRecord.GetAttributeValue<string>("filename");
}
}
Что линия является вашим Null Ссылка ошибки или какой объект нулевой? – Daryl
Здесь вызывается excpetion "if (defaultRecord.Contains (" notetext "))" –