次の方法で共有


Attribute オブジェクト (モデル デザイナー)

Attribute オブジェクトは、エンティティ内のアイテムを定義します。また、このオブジェクトは Field オブジェクトからプロパティを継承します。

プロパティ

名前

カーディナリティ

説明

Name

1

String

アイテムの名前です。属性が式を含んでいない場合は、この文字列が必要になります。

DataType

1

DataTypeEnum

属性のデータ型です。式が存在する場合、この DataType 値が式の DataType 値と一致している必要があります。

Nullable

0-1

Boolean

属性が NULL 値を保持できるかどうかを示します。

Expression

0-1

Object

属性の値を計算するために使用される式です。スカラー値を返す必要があります。

SortDirection

0-1

Enum

この属性で並べ替えるときの、既定の並べ替え方向です。既定では昇順が指定されます。

Width

0-1

Integer

属性を表示する既定の列幅を文字数で指定します。ゼロより大きな値にする必要があります。既定値は、DataType に基づいて次の値が使用されます。Boolean : 6、DateTime : 10、Time : 8、Integer : 8、Decimal : 8、Float : 8、String : 20、Binary : 1023、EntityKey : 128。

Alignment

0-1

Enum

文字の既定の配置です。既定値は General です。その他に、LeftCenter、または Right を使用できます。

MimeType

0-1

String

属性の MIME 型です。非バイナリ属性の場合は、この値が無視されます。空の文字列を指定することはできません。

DataCulture

0-1

Language

カルチャを示します。通貨記号を使用した数値の書式設定など、カルチャに依存する処理に使用されます。このカルチャ属性は、日付書式や数値書式などの単純な表示書式設定には使用されません。指定しなかった場合、Model.Culture に使用されているモデルのカルチャ値が DataCulture の既定値として使用されます。

DiscourageGrouping

0-1

Boolean

クライアント アプリケーションで、ユーザーによるこの属性のグループ化を防止するかどうかを示します。DiscourageGrouping は、値が一意であるフィールド (電話番号など) に設定する必要があります。属性がエンティティのキーまたは識別属性である場合は、代わりにクライアント アプリケーションによってエンティティのキー属性でグループ化が行われます。

EnableDrillthrough

0-1

Boolean

クライアント アプリケーションで、この属性から親エンティティへのドリルスルー リンクを提供するかどうかを示します。

Format

0-1

String

属性値の書式設定に使用される、既定の .NET Framework 書式設定文字列を指定します。標準の .NET Framework 書式に加えて、以下の書式設定文字列がサポートされています。

日付の整数値に使用される書式文字列

  • ddd: 曜日の略称

  • dddd: 曜日の完全な名前

  • MMM: 月の略称

  • MMMM: 月の完全な名前

ブール値に使用される書式文字列

  • truefalse: "True" および "False"

  • yesno: "Yes" および "No"

ブール値に使用されるカスタム書式文字列

カスタム書式文字列は、"truevalue;falsevalue" という形式を取ります。

  • true: "True"

  • false: "False"

  • yes: "Yes"

  • no: "No"

  • " および '。単一引用符または二重引用符で囲まれた文字は、結果の文字列にそのままコピーされ、書式設定には影響しません。

  • \ エスケープ文字。指定されたエスケープ文字に続く文字は、書式指定子ではなくリテラル文字として処理されます。

ContextualName

0-1

Enum

ロールを使用してエンティティにアクセスするときに、クライアント アプリケーションでこの属性に状況依存の名前を生成する方法を定義します。この列挙子は、AttributeMerge、または Role のいずれかの値を取ることができます。この列挙子の既定値は Attribute で、コンテキスト名として属性名を使用します。Merge を指定すると、属性名とロール名がマージされ、コンテキスト名として使用されます。この属性がエンティティの単一の識別属性である場合、Role を指定すると、コンテキスト名としてロール名が使用されます。この属性がエンティティの単一の識別属性でない場合、RoleMerge と同様に扱われます。

IsAggregate

0-1

Boolean

この属性が、親エンティティだけでなく、親エンティティ内で一対多のリレーションシップで関係付けられているその他すべてのエンティティのコンテキストで計算可能な集計であるかどうかを示します。これを設定しない場合は、属性がスカラーとして処理されます。IsAggregate は、属性が非固定式である場合にのみ True に設定できます。

IsFilter

0-1

Boolean

この属性が名前付きフィルターとして使用されることを示します。True に設定できるのは、ブール属性だけです。

OmitSecurityFilters

0-1

Boolean

セキュリティ フィルターを追加せずにこの属性の式を計算する必要があることを示します。通常は、詳細データをセキュリティ フィルターに基づいて保護し、集計データのみを公開する場合に使用します。属性に式がない場合、このプロパティは無視されます。

DefaultAggregateAttributeID

0-1

String

この属性の既定の集計である属性の ID です。この文字列は、この属性のバリエーションの ID であることが必要です。IsAggregate が True の場合、この文字列は使用できません。属性が非表示になる場合は、この値が無視されます。

ValueSelection

0-1

Enum

予想される一意の値の数に基づいて、クライアント アプリケーションが属性の値を選択するときの動作を決定します。NoneDropdownList の 3 つのオプションがあります。既定では None が選択されます。これを指定すると、ユーザーに値の入力が要求されます。Dropdown を指定すると、単純なドロップダウン リストに一意の値が表示されます。List を指定すると、一意の値が UI に一覧表示されます。IsAggregate が True である場合、この属性は無視されます。

Binding

0-1

Object

このフィールドを表すデータベース オブジェクトです。属性に式がない場合、このオブジェクトは必須です。Binding は、親エンティティがバインドされているテーブル内の列、またはこのエンティティがバインドされている列にバインドする必要があります。

解説

  • レポート モデルでは、属性はフィールドと呼ばれます。

  • [データのフィルター選択] ダイアログ ボックスやパラメーター領域などの値選択インターフェイスで、フィールドの一意の値がすべて取得されないようにするには、ValueSelection プロパティを None に設定します。このように設定すると、ユーザーに値の入力が要求されます。

  • Null を返す可能性のある関数を使用している場合、この属性の Nullable プロパティを True に設定する必要があります。

  • ValueSelection プロパティが List に設定されている場合、すべての値が並べ替えられてユーザーに一覧表示されます。ただし、ユーザーに要求されるフィルター条件が作成されていると、セマンティック クエリではパラメーター値のクエリに対して並べ替えが実行されないため、パラメーター値の一覧が並べ替えられない可能性があります。パラメーター値の一覧が並べ替えられない場合に、並べ替えを行うには、基になるデータベースのフィールドにインデックスを作成します。多くの場合、そのインデックスによって一覧が並べ替えられます。

  • フィールドの代わりにエンティティでグループを作成します。