IOrganizationService.Update 方法
Updates an existing record.
命名空間: Microsoft.Xrm.Sdk
組件: Microsoft.Xrm.Sdk (在 Microsoft.Xrm.Sdk.dll 中)
語法
'宣告
<FaultContractAttribute(GetType(OrganizationServiceFault))> _
<OperationContractAttribute> _
Sub Update ( _
entity As Entity _
)
[FaultContractAttribute(typeof(OrganizationServiceFault))]
[OperationContractAttribute]
void Update (
Entity entity
)
參數
- entity
Type: Entity. An entity instance that has one or more properties set to be updated in the record.
範例
The following example shows how to use the Update method to update 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 Update method to update 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.");
}
備註
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 and access rights on the record specified in the Update parameter.. For a list of the required privileges, see Update Privileges.
Notes for Callers
If the entity instance includes properties that are not valid for update, they are ignored. 您可以在組織的中繼資料中找到這項資訊。請參閱先前的中繼資料瀏覽器資訊。
You can use this method to update any record of an entity that supports the Update 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
下表顯示支援此訊息的預設實體。對於此訊息的列示實體,如果呼叫端必須連線至伺服器,Availability 資料行會顯示 Server,如果呼叫端可以連線至伺服器或中斷伺服器連線,則會顯示 Both。
Entity | Availability |
---|---|
Account |
2 (Both) |
ActivityMimeAttachment |
2 (Both) |
Annotation |
2 (Both) |
AnnualFiscalCalendar |
2 (Both) |
Appointment |
2 (Both) |
AsyncOperation |
2 (Both) |
BusinessUnit |
2 (Both) |
BusinessUnitNewsArticle |
2 (Both) |
Calendar |
2 (Both) |
Campaign |
2 (Both) |
CampaignActivity |
2 (Both) |
CampaignResponse |
2 (Both) |
Competitor |
2 (Both) |
Connection |
2 (Both) |
ConnectionRole |
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) |
Discount |
2 (Both) |
DiscountType |
2 (Both) |
DisplayString |
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) |
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) |
ImportFile |
2 (Both) |
ImportJob |
2 (Both) |
ImportMap |
2 (Both) |
Incident |
2 (Both) |
IncidentResolution |
2 (Both) |
Invoice |
2 (Both) |
InvoiceDetail |
2 (Both) |
IsvConfig |
2 (Both) |
KbArticle |
2 (Both) |
KbArticleComment |
2 (Both) |
KbArticleTemplate |
2 (Both) |
Lead |
2 (Both) |
Letter |
2 (Both) |
List |
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) |
PhoneCall |
2 (Both) |
PluginAssembly |
2 (Both) |
PluginType |
2 (Both) |
Position |
2 (Both) |
PriceLevel |
2 (Both) |
PrincipalObjectAttributeAccess |
2 (Both) |
ProcessSession |
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) |
ReportVisibility |
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) |
SdkMessageProcessingStep |
2 (Both) |
SdkMessageProcessingStepImage |
2 (Both) |
SdkMessageProcessingStepSecureConfig |
2 (Both) |
SemiAnnualFiscalCalendar |
2 (Both) |
Service |
2 (Both) |
ServiceAppointment |
2 (Both) |
ServiceEndpoint |
2 (Both) |
SharePointData |
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) |
Subject |
2 (Both) |
SystemForm |
2 (Both) |
SystemUser |
2 (Both) |
Task |
2 (Both) |
Team |
2 (Both) |
TeamTemplate |
2 (Both) |
Template |
2 (Both) |
Territory |
2 (Both) |
TransactionCurrency |
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) 成員都具備執行緒安全。任何執行個體成員都不保證具備執行緒安全。
平台
Development Platforms
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.
Target Platforms
Windows Server 2008、Windows Server 2012、Windows 7
Change History
請參閱
參照
IOrganizationService 介面
IOrganizationService 成員
Microsoft.Xrm.Sdk 命名空間
UpdateRequest
UpdateResponse
Update
其他資源
Handle Exceptions in Your Code
Troubleshooting and Error Handling
Send comments about this topic to Microsoft.
© 2015 Microsoft. All rights reserved.