다음을 통해 공유


LabelQueryExpression 클래스

Defines the languages for the labels to be retrieved for metadata items that have labels.

네임스페이스: Microsoft.Xrm.Sdk.Metadata.Query
어셈블리: Microsoft.Xrm.Sdk(Microsoft.Xrm.Sdk.dll에 있음)

구문

‘선언
<DataContractAttribute(Name:="LabelQueryExpression", Namespace:="https://schemas.microsoft.com/xrm/2011/Metadata/Query")> _
Public NotInheritable Class LabelQueryExpression
    Inherits MetadataQueryBase
[DataContractAttribute(Name="LabelQueryExpression", Namespace="https://schemas.microsoft.com/xrm/2011/Metadata/Query")] 
public sealed class LabelQueryExpression : MetadataQueryBase

설명

The number of labels returned for each item depends on the number of language packs installed by the organization. If no additional language packs are installed, there will only be labels for the organization base language. For best performance when additional language packs are installed you can limit labels to those that correspond to the user’s language preference. These preferences can be determined using the values returned by the client-side context getUserLcid function or by querying the UserSettings.UILanguageId value.

The following example shows those portions of the Sample: Query Metadata and Detect Changes which deal with setting the LabelQueryExpression.

private Guid _userId;
private int _languageCode;
   
   
   ...
   
   
   
_userId = ((WhoAmIResponse)_service.Execute(new WhoAmIRequest())).UserId;
_languageCode = RetrieveUserUILanguageCode(_userId);
   
   
   ...
   
   
   
protected int RetrieveUserUILanguageCode(Guid userId)
{
 QueryExpression userSettingsQuery = new QueryExpression("usersettings");
 userSettingsQuery.ColumnSet.AddColumns("uilanguageid", "systemuserid");
 userSettingsQuery.Criteria.AddCondition("systemuserid", ConditionOperator.Equal, userId);
 EntityCollection userSettings = _service.RetrieveMultiple(userSettingsQuery);
 if (userSettings.Entities.Count > 0)
 {
  return (int)userSettings.Entities[0]["uilanguageid"];
 }
 return 0;
}
   
   
   ...
   
   
   

//A label query expression to limit the labels returned to only those for the user's preferred language
LabelQueryExpression labelQuery = new LabelQueryExpression();
labelQuery.FilterLanguages.Add(_languageCode);

상속 계층

System.Object
   Microsoft.Xrm.Sdk.Metadata.Query.MetadataQueryBase
    Microsoft.Xrm.Sdk.Metadata.Query.LabelQueryExpression

스레드 보안

이 형식의 공용 정적(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 98,Windows 2000,Windows 2000 Server,Windows CE,Windows Server 2008,Windows 98 Second Edition,Pocket PC,스마트 폰,Windows Server 2003,Windows XP Professional,Windows Server 2008,Windows Server 2012,Windows 7,Windows 8,Windows 8.1

Change History

참고 항목

참조

LabelQueryExpression 구성원
Microsoft.Xrm.Sdk.Metadata.Query 네임스페이스

기타 리소스

Query and Capture Changes to Metadata
Customize Labels to Support Multiple Languages
Sample: Query Metadata and Detect Changes

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