Association クラス (Microsoft.Office.Server.ApplicationRegistry.Administration)

2 つ以上の関連するエンティティ間の関係を表します。

名前空間: Microsoft.Office.Server.ApplicationRegistry.Administration
アセンブリ: Microsoft.SharePoint.Portal (microsoft.sharepoint.portal.dll 内)

構文

'宣言
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel:=True)> _
<SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel:=True)> _
Public Class Association
    Inherits MethodInstance
'使用
Dim instance As Association
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel=true)] 
[SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel=true)] 
public class Association : MethodInstance

備考

Association オブジェクトはシステム内の関連するエンティティをリンクします。たとえば、AdventureWorks システムで顧客は注文と関連付けられ、"顧客は注文をする" となります。Association メタデータ オブジェクトは親および子エンティティを指すポインタだけでなく、クライアントが親エンティティ インスタンスから子エンティティ インスタンスを取得できるようにするビジネス ロジック (Method オブジェクト) を指すポインタも保持します。関連付けのトラバースは LOB システムでのメソッド呼び出しに過ぎず、それにいくつかの特別なプロパティ (参照元エンティティ インスタンスの識別子値の入力スロットや参照先エンティティ インスタンスの識別子値の出力スロット) を指定したものです。

SourceEntity オブジェクトと DestinationEntity オブジェクトは別個のメタデータ オブジェクトではありません。これらは Entity メタデータ オブジェクトのインスタンスに過ぎません。SourceEntity オブジェクトと DestinationEntity オブジェクトはともに同じ LobSystem オブジェクト内になければなりません。

関連付けロジック (Method) は、参照元、参照先、または関連しないエンティティのどのエンティティに対しても設定できます。ただし、参照元エンティティと参照先エンティティを定義する順序は非常に重要です。それは、XML ファイルが上から下へと処理されるからです。したがって、関連付けメソッドで参照されるエンティティは、必ず関連付けメソッドを含むエンティティより前に定義されるようにする必要があります。この順序が正しくない場合、ビジネス データ カタログにアプリケーション定義を追加しようとした時点で、まだ作成されていないエンティティへの参照が関連付けメソッドに含まれているため、エラーを受け取ります。

ビジネス データ カタログは複数の SourceEntity と 1 つの DestinationEntity オブジェクト シナリオをサポートします。サンプルについては、SampleWebService メタデータ を参照してください。

ビジネス データ カタログは外部キー疑似関連付けもサポートします。外部キー疑似関連付けは最も優れた関連付けではありません。Web メソッドの例を考えてみましょう。このメソッドは複数の Customer を返しますが、Customer のフィールドの 1 つに Customer の Address へのキーがあります。メタデータ モデルはこのメソッドを Customer->Address Association メソッドとして再利用することができます。外部キー疑似関連付けは、このメソッドのターゲットが Address であるとみなし、返された Customer から Address のキーをフェッチした後で、the Specific Finder of the target Entity を呼び出して自動的に Address を返します。

注意

ビジネス データ カタログでは、関連付けによるエンティティの循環チェーンはサポートされません。つまり、エンティティ A はエンティティ B に関連し、エンティティ B はエンティティ C に関連し、エンティティ C はエンティティ A に関連するという関連付けをサポートしません。

継承階層

System.Object
   Microsoft.Office.Server.ApplicationRegistry.Administration.MetadataObject
     Microsoft.Office.Server.ApplicationRegistry.Administration.AccessControlledMetadataObject
       Microsoft.Office.Server.ApplicationRegistry.Administration.IndividuallySecurableMetadataObject
         Microsoft.Office.Server.ApplicationRegistry.Administration.MethodInstance
          Microsoft.Office.Server.ApplicationRegistry.Administration.Association

スレッドの安全性

この型のパブリックで静的な (Visual Basic では Shared) すべてのメンバは、スレッド セーフです。インスタンス メンバは、スレッド セーフであるとは保証されません。

関連項目

参照

Association メンバ
Microsoft.Office.Server.ApplicationRegistry.Administration 名前空間