IOrganizationService.RetrieveMultiple 方法

应用到: CRM 2015 on-prem, CRM Online

Retrieves a collection of records.

命名空间: Microsoft.Xrm.Sdk
程序集: Microsoft.Xrm.Sdk (在 Microsoft.Xrm.Sdk.dll 中)

语法

声明
<OperationContractAttribute> _
<FaultContractAttribute(GetType(OrganizationServiceFault))> _
Function RetrieveMultiple ( _
    query As QueryBase _
) As EntityCollection
[OperationContractAttribute] 
[FaultContractAttribute(typeof(OrganizationServiceFault))] 
EntityCollection RetrieveMultiple (
    QueryBase query
)

参数

  • query
    Type: QueryBase. A query that determines the set of records to retrieve.

返回值

Type: EntityCollection
The collection of entities returned from the query.

示例

The following example shows how to use the RetrieveMultiple method. For this sample to work correctly, you must be connected to the server to get an IOrganizationService interface. You can find the complete sample in the sample code package in the folder SampleCode\CS\BusinessDataModel\BusinessManagement\RetrieveOpportunity.cs.

// Retrieve Opportunity record.                
Opportunity checkOpportunity = (Opportunity)_serviceProxy.Retrieve(
    Opportunity.EntityLogicalName,
    _opportunityId,
    new ColumnSet("name"));

Console.WriteLine("Retrieved {0}", checkOpportunity.Name);

// Retrieve the related opportunity products
QueryExpression opportunityProductsQuery = new QueryExpression
{
    EntityName = OpportunityProduct.EntityLogicalName,
    ColumnSet = new ColumnSet("opportunityproductid", "volumediscountamount"),
    Criteria = new FilterExpression
    {
        Conditions = 
    {
        new ConditionExpression 
        {
            AttributeName = "opportunityid",
            Operator = ConditionOperator.Equal,
            Values = { _opportunityId }
        }
    }
    }
};

DataCollection<Entity> opportunityProducts = _serviceProxy.RetrieveMultiple(
    opportunityProductsQuery).Entities;

foreach (Entity entity in opportunityProducts)
{
    OpportunityProduct opportunityProduct = (OpportunityProduct)entity;
    Console.WriteLine("Retrieved Opportunity Product {0}",
        opportunityProduct.OpportunityProductId.Value);
}

The following example shows how to use the RetrieveMultiple method. For this sample to work correctly, you must be connected to the server to get an IOrganizationService interface. You can find the complete sample in the sample code package in the folder SampleCode\CS\BusinessDataModel\Templates\GetEmailTemplateAttachments.cs.


//Create a query to retrieve attachments.
QueryExpression query = new QueryExpression
{
    EntityName = ActivityMimeAttachment.EntityLogicalName,
    ColumnSet = new ColumnSet("filename"),

    //Define the conditions for each attachment.
    Criteria =
    {
        FilterOperator = LogicalOperator.And,
        Conditions =
    {
        //The ObjectTypeCode must be specified, or else the query
        //defaults to "email" instead of "template".
        new ConditionExpression
        {
            AttributeName = "objecttypecode",
            Operator = ConditionOperator.Equal,
            Values = {Template.EntityTypeCode}
        },
        //Specify which template we need.
        new ConditionExpression
        {
            AttributeName = "objectid",
            Operator = ConditionOperator.Equal,
            Values = {_emailTemplateId}
        }
    }
    }
};

//Write out the filename of each attachment retrieved.
foreach (ActivityMimeAttachment attachment in _serviceProxy.RetrieveMultiple(query).Entities)
{
    Console.WriteLine("Retrieved attachment {0}", attachment.FileName);
}

备注

Message Availability

无论调用方是连接到服务器还是处于脱机状态,此消息都可正常工作。

Not all entity types support this message offline. See Supported Entities later in this topic.

Privileges and Access Rights

To perform this action, the caller must have privileges on the entity that is specified in the entityName parameter. For a list of the required privileges, see RetrieveMultiple Privileges. This method only returns the records for which the calling user has access rights.

Notes for Callers

The collection of returned records contains the values for the properties that are specified in the ColumnSet parameter for which the calling user has access rights. Any other property values are not returned.

Pass null for the columnSet parameter to retrieve only the primary key. If the columnSet includes attributes that are not valid for retrieval, they are ignored. This is where IsValidForRead is false. 您可以在您组织的元数据中查找此信息。请参阅前面的元数据浏览器信息。

You can use this method to retrieve records of an entity that supports the RetrieveMultiple message, including records from custom entities.

有关 the exceptions that can be thrown when this method is called, see Handle Exceptions in Your Code.

Supported Entities

下表显示支持此消息的默认实体。对于此消息的列出实体,如果调用方必须连接到服务器,则“可用性”列显示“Server”;如果调用方可连接到服务器也可以从服务器断开连接,则显示“Both”。

Entity Availability

Account

2 (Both)

AccountLeads

2 (Both)

ActivityMimeAttachment

2 (Both)

ActivityParty

2 (Both)

ActivityPointer

2 (Both)

Annotation

2 (Both)

AnnualFiscalCalendar

2 (Both)

Appointment

2 (Both)

AsyncOperation

2 (Both)

AttributeMap

2 (Both)

Audit

2 (Both)

BulkDeleteFailure

2 (Both)

BulkDeleteOperation

2 (Both)

BulkOperation

2 (Both)

BulkOperationLog

2 (Both)

BusinessUnit

2 (Both)

BusinessUnitNewsArticle

2 (Both)

Calendar

2 (Both)

Campaign

2 (Both)

CampaignActivity

2 (Both)

CampaignActivityItem

2 (Both)

CampaignItem

2 (Both)

CampaignResponse

2 (Both)

ColumnMapping

2 (Both)

Competitor

2 (Both)

CompetitorProduct

2 (Both)

CompetitorSalesLiterature

2 (Both)

Connection

2 (Both)

ConnectionRole

2 (Both)

ConnectionRoleAssociation

2 (Both)

ConnectionRoleObjectTypeCode

2 (Both)

ConstraintBasedGroup

2 (Both)

Contact

2 (Both)

ContactInvoices

2 (Both)

ContactLeads

2 (Both)

ContactOrders

2 (Both)

ContactQuotes

2 (Both)

Contract

2 (Both)

ContractDetail

2 (Both)

ContractTemplate

2 (Both)

ConvertRule

2 (Both)

ConvertRuleItem

2 (Both)

CustomerAddress

2 (Both)

CustomerOpportunityRole

2 (Both)

CustomerRelationship

2 (Both)

Dependency

2 (Both)

Discount

2 (Both)

DiscountType

2 (Both)

DisplayString

2 (Both)

DuplicateRecord

2 (Both)

DuplicateRule

2 (Both)

DuplicateRuleCondition

2 (Both)

DynamicProperty

2 (Both)

DynamicPropertyAssociation

2 (Both)

DynamicPropertyInstance

2 (Both)

DynamicPropertyOptionSetItem

2 (Both)

Email

2 (Both)

EmailServerProfile

2 (Both)

Entitlement

2 (Both)

EntitlementChannel

2 (Both)

EntitlementContacts

2 (Both)

EntitlementProducts

2 (Both)

EntitlementTemplate

2 (Both)

EntitlementTemplateChannel

2 (Both)

EntitlementTemplateProducts

2 (Both)

EntityMap

2 (Both)

Equipment

2 (Both)

ExchangeSyncIdMapping

2 (Both)

Fax

2 (Both)

FieldPermission

2 (Both)

FieldSecurityProfile

2 (Both)

FixedMonthlyFiscalCalendar

2 (Both)

Goal

2 (Both)

GoalRollupQuery

2 (Both)

HierarchyRule

2 (Both)

HierarchySecurityConfiguration

2 (Both)

Import

2 (Both)

ImportEntityMapping

2 (Both)

ImportFile

2 (Both)

ImportJob

2 (Both)

ImportLog

2 (Both)

ImportMap

2 (Both)

Incident

2 (Both)

IncidentResolution

2 (Both)

InvalidDependency

2 (Both)

Invoice

2 (Both)

InvoiceDetail

2 (Both)

IsvConfig

2 (Both)

KbArticle

2 (Both)

KbArticleComment

2 (Both)

KbArticleTemplate

2 (Both)

Lead

2 (Both)

LeadAddress

2 (Both)

LeadCompetitors

2 (Both)

LeadProduct

2 (Both)

Letter

2 (Both)

License

2 (Both)

List

2 (Both)

ListMember

2 (Both)

LookUpMapping

2 (Both)

Mailbox

2 (Both)

MailMergeTemplate

2 (Both)

Metric

2 (Both)

MonthlyFiscalCalendar

2 (Both)

msdyn_PostAlbum

2 (Both)

msdyn_PostConfig

2 (Both)

msdyn_PostRuleConfig

2 (Both)

msdyn_wallsavedquery

2 (Both)

msdyn_wallsavedqueryusersettings

2 (Both)

Opportunity

2 (Both)

OpportunityClose

2 (Both)

OpportunityCompetitors

2 (Both)

OpportunityProduct

2 (Both)

OrderClose

2 (Both)

Organization

2 (Both)

OrganizationUI

2 (Both)

OwnerMapping

2 (Both)

PhoneCall

2 (Both)

PickListMapping

2 (Both)

PluginAssembly

2 (Both)

PluginType

2 (Both)

PluginTypeStatistic

2 (Both)

Position

2 (Both)

Post

2 (Both)

PostComment

2 (Both)

PostFollow

2 (Both)

PostLike

2 (Both)

PriceLevel

2 (Both)

PrincipalObjectAttributeAccess

2 (Both)

Privilege

2 (Both)

ProcessSession

2 (Both)

ProcessStage

2 (Both)

ProcessTrigger

2 (Both)

Product

2 (Both)

ProductAssociation

2 (Both)

ProductPriceLevel

2 (Both)

ProductSalesLiterature

2 (Both)

ProductSubstitute

2 (Both)

Publisher

2 (Both)

PublisherAddress

2 (Both)

QuarterlyFiscalCalendar

2 (Both)

Queue

2 (Both)

QueueItem

2 (Both)

QueueMembership

2 (Both)

Quote

2 (Both)

QuoteClose

2 (Both)

QuoteDetail

2 (Both)

RecurrenceRule

2 (Both)

RecurringAppointmentMaster

2 (Both)

RelationshipRole

2 (Both)

RelationshipRoleMap

2 (Both)

Report

2 (Both)

ReportCategory

2 (Both)

ReportEntity

2 (Both)

ReportLink

2 (Both)

ReportVisibility

2 (Both)

Resource

2 (Both)

ResourceGroup

2 (Both)

ResourceSpec

2 (Both)

Role

2 (Both)

RolePrivileges

2 (Both)

RollupField

2 (Both)

RoutingRule

2 (Both)

RoutingRuleItem

2 (Both)

SalesLiterature

2 (Both)

SalesLiteratureItem

2 (Both)

SalesOrder

2 (Both)

SalesOrderDetail

2 (Both)

SavedQuery

2 (Both)

SavedQueryVisualization

2 (Both)

SdkMessage

2 (Both)

SdkMessageFilter

2 (Both)

SdkMessagePair

2 (Both)

SdkMessageProcessingStep

2 (Both)

SdkMessageProcessingStepImage

2 (Both)

SdkMessageProcessingStepSecureConfig

2 (Both)

SdkMessageRequest

2 (Both)

SdkMessageRequestField

2 (Both)

SdkMessageResponse

2 (Both)

SdkMessageResponseField

2 (Both)

SemiAnnualFiscalCalendar

2 (Both)

Service

2 (Both)

ServiceAppointment

2 (Both)

ServiceContractContacts

2 (Both)

ServiceEndpoint

2 (Both)

SharePointData

2 (Both)

SharePointDocument

2 (Both)

SharePointDocumentLocation

2 (Both)

SharePointSite

2 (Both)

Site

2 (Both)

SiteMap

2 (Both)

SLA

2 (Both)

SLAItem

2 (Both)

SLAKPIInstance

2 (Both)

SocialActivity

2 (Both)

SocialInsightsConfiguration

2 (Both)

SocialProfile

2 (Both)

Solution

2 (Both)

SolutionComponent

2 (Both)

Subject

2 (Both)

SubscriptionTrackingDeletedObject

2 (Both)

SystemForm

2 (Both)

SystemUser

2 (Both)

SystemUserLicenses

2 (Both)

SystemUserProfiles

2 (Both)

SystemUserRoles

2 (Both)

Task

2 (Both)

Team

2 (Both)

TeamMembership

2 (Both)

TeamProfiles

2 (Both)

TeamRoles

2 (Both)

TeamTemplate

2 (Both)

Template

2 (Both)

Territory

2 (Both)

TimeZoneDefinition

2 (Both)

TimeZoneLocalizedName

2 (Both)

TimeZoneRule

2 (Both)

TraceLog

2 (Both)

TransactionCurrency

2 (Both)

TransformationMapping

2 (Both)

TransformationParameterMapping

2 (Both)

UoM

2 (Both)

UoMSchedule

2 (Both)

UserEntityInstanceData

2 (Both)

UserEntityUISettings

2 (Both)

UserForm

2 (Both)

UserQuery

2 (Both)

UserQueryVisualization

2 (Both)

UserSettings

2 (Both)

WebResource

2 (Both)

Workflow

2 (Both)

WorkflowDependency

2 (Both)

WorkflowLog

2 (Both)

线程安全性

此类型的所有公共静态(Visual Basic 中的 Shared)成员都是线程安全成员。不保证任何实例成员是线程安全成员。

平台

开发平台

Windows Vista、Windows Server 2003 和

目标平台

Windows Vista,Windows XP

Change History

另请参阅

参考

IOrganizationService 接口
IOrganizationService 成员
Microsoft.Xrm.Sdk 命名空间
RetrieveMultipleRequest
RetrieveMultipleResponse
Retrieve Multiple

其他资源

Creating Queries to Retrieve Data
How Field Security Can Be Used to Control Access to Field Values In Microsoft Dynamics CRM
Handle Exceptions in Your Code
Troubleshooting and Error Handling

Send comments about this topic to Microsoft.
© 2014 Microsoft Corporation. All rights reserved.