プロパティ
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
プロパティは、エンティティに保存されているデータを保持します。 このページでは、プロパティとその値を取得する方法とそれらの値を変更する方法について説明します。
プロパティ タイプ
プロパティ タイプ
SDK は、次のPropertiesプロパティを使用します。
ICultureSensitiveProperty: カルチャごとの値を持つプロパティ。ICultureInsensitiveProperty: 1 つの値を持ち、カルチャをサポートしないプロパティ。
[!注] これは、プロパティ定義の
IsMultiLanguageプロパティと関連があります。
取得のプロパティ
取得のプロパティ
次の例では、次のように仮定しています。
entityは M.Asset エンティティであるTitleは、カルチャに依存しないプロパティであるDescriptionは、カルチャに依存するプロパティである
[!注] プロパティ名の大文字と小文字は区別されません。
非汎用
すべてのプロパティ タイプは IProperty から派生していますが、その値にアクセスするには特定のサブタイプへのキャストが必要です。
[!警告] 正しくないタイプのプロパティにキャストすると、例外がスローされます。 プロパティがカルチャに依存するかどうか疑わしい場合は、(プロパティ) 定義を確認してください。
IProperty.IsCultureSensitiveを使用することもできます。
汎用
または、汎用のオーバーロードを使用して、ICultureInsensitiveProperty または ICultureSensitiveProperty のいずれかに自動的にキャストします。
[!注] プロパティが見つからないか場合や読み込まれていない場合は、
nullが返されます。 ただし、プロパティは遅延読み込みされることがあります。 詳細については、遅延読み込みを参照してください。[!注] 読み込まれたすべてのプロパティは、
IEntity.Propertiesプロパティを使用してアクセスすることができます。 これは、たとえば、LINQ を使用してプロパティをフィルタリングする場合に役立ちます。
プロパティ値の取得
プロパティ値の取得
ICultureInsensitiveProperty プロパティから値を取得するには、次のようにします。
ICultureSensitiveProperty プロパティから値を取得するには、カルチャも指定する必要があります。 この例では、英語での説明を取得します。
プロパティ値の設定
プロパティ値の設定
ICultureInsensitiveProperty プロパティに値を設定するには、次のようにします。
ICultureSensitiveProperty プロパティに値を設定するには、カルチャも指定する必要があります。
複数値のプロパティ
複数値のプロパティ
プロパティが複数値の場合、そのタイプは配列タイプに変更されます。 MultiDescription が複数値でカルチャに依存する string プロパティであると仮定すると、プロパティ値の取得は次のようになります。
[!注] これは、プロパティ定義の
IsMultiValueプロパティと関連があります。
エンティティでのプロパティ値の直接使用
エンティティでのプロパティ値の直接使用
エンティティ (IEntity) からプロパティ値を直接取得および設定することもできます。 これは、内部でプロパティがフェッチされてそのプロパティの値が返されるまたは設定されるショートカットとして機能します。
値の取得
ICultureInsensitiveProperty プロパティから値を取得するには、次のようにします。
ICultureSensitiveProperty プロパティから値を取得するには、カルチャも指定する必要があります。
[!警告] プロパティが存在しない場合や読み込まれていない場合は、要求された方 (ここでは
string) の既定値が返されます。 null になり得る型 (プリミティブ型の場合はlongではなくlong?) を渡すことをお勧めします。そうすれば、nullが返されます。 そうしない場合、プリミティブの既定値に混乱が生じる可能性があります。[!警告] エンティティからプロパティ値を直接取得する場合は、どの型のプロパティが使用されているかに注意してください。 カルチャに依存するプロパティの場合は、必ずカルチャを渡してください。そうしない場合は、
InvalidOperationException例外がスローされます。
値の設定
ICultureInsensitiveProperty プロパティに値を設定するには、次のようにします。
ICultureSensitiveProperty プロパティに値を設定するには、カルチャも指定する必要があります。
[!警告] プロパティが存在しない場合や読み込まれていない場合は、SDK が
PropertyNotFoundExceptionをスローします。[!警告] プロパティ値の取得と同様に、エンティティからプロパティ値を直接取得する場合は、どのタイプのプロパティが使用されているかに注意してください。