Método IOrganizationService.Retrieve
Aplica-se a: CRM 2015 on-prem, CRM Online
Retrieves a record.
Namespace: Microsoft.Xrm.Sdk
Assembly: Microsoft.Xrm.Sdk (em Microsoft.Xrm.Sdk.dll)
Sintaxe
'Declaração
<FaultContractAttribute(GetType(OrganizationServiceFault))> _
<OperationContractAttribute> _
Function Retrieve ( _
entityName As String, _
id As Guid, _
columnSet As ColumnSet _
) As Entity
[FaultContractAttribute(typeof(OrganizationServiceFault))]
[OperationContractAttribute]
Entity Retrieve (
string entityName,
Guid id,
ColumnSet columnSet
)
Parâmetros
- entityName
Type: Cadeia de caracteres. The logical name of the entity that is specified in the entityId parameter.
- id
Type: Guid. The ID of the record that you want to retrieve.
- columnSet
Type: ColumnSet. A query that specifies the set of columns, or attributes, to retrieve.
Valor de Retorno
Type: Entity
The requested entity.
Exemplo
The following example shows how to use the Retrieve method to retrieve an account record (early bound). For this sample to work correctly, you must be connected to the server to instantiate an IOrganizationService interface. You can find the complete sample in the sample code package in the folder SampleCode\CS\GeneralProgramming\EarlyBound\CRUDOperations.cs
.
// Connect to the Organization service.
// The using statement assures that the service proxy will be properly disposed.
using (_serviceProxy = new OrganizationServiceProxy(serverConfig.OrganizationUri, serverConfig.HomeRealmUri,serverConfig.Credentials, serverConfig.DeviceCredentials))
{
// This statement is required to enable early-bound type support.
_serviceProxy.EnableProxyTypes();
CreateRequiredRecords();
// Instantiate an account object.
// See the Entity Metadata topic in the SDK documentation to determine
// which attributes must be set for each entity.
Account account = new Account { Name = "Fourth Coffee" };
// Create an account record named Fourth Coffee.
_accountId = _serviceProxy.Create(account);
Console.Write("{0} {1} created, ", account.LogicalName, account.Name);
// Retrieve the account containing several of its attributes.
ColumnSet cols = new ColumnSet(
new String[] { "name", "address1_postalcode", "lastusedincampaign", "versionnumber" });
Account retrievedAccount = (Account)_serviceProxy.Retrieve("account", _accountId, cols);
Console.Write("retrieved ");
// Retrieve version number of the account. Shows BigInt attribute usage.
long? versionNumber = retrievedAccount.VersionNumber;
if (versionNumber != null)
Console.WriteLine("version # {0}, ", versionNumber);
// Update the postal code attribute.
retrievedAccount.Address1_PostalCode = "98052";
// The address 2 postal code was set accidentally, so set it to null.
retrievedAccount.Address2_PostalCode = null;
// Shows usage of option set (picklist) enumerations defined in OptionSets.cs.
retrievedAccount.Address1_AddressTypeCode = new OptionSetValue((int)AccountAddress1_AddressTypeCode.Primary);
retrievedAccount.Address1_ShippingMethodCode = new OptionSetValue((int)AccountAddress1_ShippingMethodCode.DHL);
retrievedAccount.IndustryCode = new OptionSetValue((int)AccountIndustryCode.AgricultureandNonpetrolNaturalResourceExtraction);
// Shows use of a Money value.
retrievedAccount.Revenue = new Money(5000000);
// Shows use of a Boolean value.
retrievedAccount.CreditOnHold = false;
// Shows use of EntityReference.
retrievedAccount.ParentAccountId = new EntityReference(Account.EntityLogicalName, _parentAccountId);
// Shows use of Memo attribute.
retrievedAccount.Description = "Account for Fourth Coffee.";
// Update the account record.
_serviceProxy.Update(retrievedAccount);
Console.WriteLine("and updated.");
DeleteRequiredRecords(promptforDelete);
}
The following example shows how to use the Retrieve method to retrieve an account record (late bound). For this sample to work correctly, you must be connected to the server to instantiate an IOrganizationService interface. You can find the complete sample in the sample code package in the folder SampleCode\CS\GeneralProgramming\LateBound\CRUDOperationsDE.cs
.
// Instaniate an account object.
Entity account = new Entity("account");
// Set the required attributes. For account, only the name is required.
// See the Entity Metadata topic in the SDK documentatio to determine
// which attributes must be set for each entity.
account["name"] = "Fourth Coffee";
// Create an account record named Fourth Coffee.
_accountId = _service.Create(account);
Console.Write("{0} {1} created, ", account.LogicalName, account.Attributes["name"]);
// Create a column set to define which attributes should be retrieved.
ColumnSet attributes = new ColumnSet(new string[] { "name", "ownerid" });
// Retrieve the account and its name and ownerid attributes.
account = _service.Retrieve(account.LogicalName, _accountId, attributes);
Console.Write("retrieved, ");
// Update the postal code attribute.
account["address1_postalcode"] = "98052";
// The address 2 postal code was set accidentally, so set it to null.
account["address2_postalcode"] = null;
// Shows use of Money.
account["revenue"] = new Money(5000000);
// Shows use of boolean.
account["creditonhold"] = false;
// Update the account.
_service.Update(account);
Console.WriteLine("and updated.");
// Delete the account.
bool deleteRecords = true;
if (promptForDelete)
{
Console.WriteLine("\nDo you want these entity records deleted? (y/n) [y]: ");
String answer = Console.ReadLine();
deleteRecords = (answer.StartsWith("y") || answer.StartsWith("Y") || answer == String.Empty);
}
if (deleteRecords)
{
_service.Delete("account", _accountId);
Console.WriteLine("Entity record(s) have been deleted.");
}
Comentários
Message Availability
Esta mensagem funciona independentemente de o chamador estar conectado ao servidor ou offline.
Not all entity types support this message offline. See Supported Entities later in this topic.
Privileges and Access Rights
Para executar esta ação, o chamador deve ter privileges on the entity that is specified in the entityName parameter and access rights on the record that is specified in the id parameter. For a list of the required privileges, see Retrieve Privileges.
Notes for Callers
The returned record contains values for the specified properties in the columnSet parameter for which the calling user has access rights. Any other property values are not returned. For more information, see The Security Model of Microsoft Dynamics CRM.
Pass null for the columnSet parameter to retrieve only the primary key. If the columnSet includes attributes where IsValidForRead is false, they are ignored. Você pode encontrar essas informações nos metadados da sua organização. Consulte as informações anteriores sobre metadados de navegador.
To retrieve a record and its related records in a single transaction, use the RetrieveRequest class.
You can use this method to retrieve any record of an entity that supports the Retrieve message, including custom entities.
For more information about the exceptions that can be thrown when this method is called, see Handle Exceptions in Your Code.
Supported Entities
A tabela a seguir mostra as entidades padrão que oferecem suporte a esta mensagem. Para obter as entidades listadas desta mensagem, a coluna Disponibilidade mostrará Servidor se o chamador precisar estar conectado ao servidor e mostrará Ambos se o chamador puder esta conectado ao servidor ou desconectado dele.
Entity | Availability |
---|---|
Account |
2 (Both) |
ActivityMimeAttachment |
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) |
CampaignResponse |
2 (Both) |
ColumnMapping |
2 (Both) |
Competitor |
2 (Both) |
Connection |
2 (Both) |
ConnectionRole |
2 (Both) |
ConnectionRoleObjectTypeCode |
2 (Both) |
ConstraintBasedGroup |
2 (Both) |
Contact |
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) |
2 (Both) |
|
EmailServerProfile |
2 (Both) |
Entitlement |
2 (Both) |
EntitlementChannel |
2 (Both) |
EntitlementTemplate |
2 (Both) |
EntitlementTemplateChannel |
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) |
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) |
Letter |
2 (Both) |
List |
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) |
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) |
ProductSubstitute |
2 (Both) |
Publisher |
2 (Both) |
PublisherAddress |
2 (Both) |
QuarterlyFiscalCalendar |
2 (Both) |
Queue |
2 (Both) |
QueueItem |
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) |
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) |
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) |
SystemForm |
2 (Both) |
SystemUser |
2 (Both) |
Task |
2 (Both) |
Team |
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) |
Segurança do Thread
Todos os membros estáticos (Shared in Visual Basic) desse tipo são protegidos por thread. Não há nenhum garantia de que os membros de instância sejam protegidos por thread.
Plataformas
Plataformas de desenvolvimento
Windows Vista, Windows Server 2003 e
Plataformas de destino
Windows Vista,Windows XP
Change History
Consulte também
Referência
Interface IOrganizationService
Membros de IOrganizationService
Namespace Microsoft.Xrm.Sdk
RetrieveResponse
RetrieveRequest
Retrieve
Outros recursos
Handle Exceptions in Your Code
Troubleshooting and Error Handling
Send comments about this topic to Microsoft.
© 2014 Microsoft Corporation. All rights reserved.