Entity クラス (Microsoft.Office.Server.ApplicationRegistry.MetadataModel)
基幹業務 (LOB) アプリケーション内の Customer や Product などのエンティティを表します。
名前空間: Microsoft.Office.Server.ApplicationRegistry.MetadataModel
アセンブリ: Microsoft.SharePoint.Portal (microsoft.sharepoint.portal.dll 内)
構文
'宣言
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel:=True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel:=True)> _
Public Class Entity
Inherits DataClass
'使用
Dim instance As Entity
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel=true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel=true)]
public class Entity : DataClass
備考
ビジネス データ カタログ内では、エンティティは単一の LOB システムに属します。すべてのメタデータ オブジェクトと同様に、エンティティは MetadataObject 基本クラスから派生されており、一意の名前を持っている必要があります。
エンティティには、識別子、メソッド、およびアクションが含まれます。エンティティは、それに関連付けられている他の関連エンティティが存在する場合もあります。たとえば、AdventureWorks システムの Customers と Order というエンティティには関連付けがあります。これは、顧客が注文を行うという関係を共有しているためです。この関係は関連付けとしてメタデータ内に実装されます。
LOB アプリケーション内の顧客番号 88697 や注文番号 1000 などのビジネス オブジェクトは、エンティティ インスタンスとして呼ばれます。エンティティがデータベース テーブルにマップされている場合、エンティティ インスタンスを行と見なすことができます。
例
この例は、メタデータ リポジトリを参照して、LobSystem オブジェクトと Entity オブジェクトを取得する方法を示しています。
Prerequisites
共有サービス プロバイダが既に作成されていることを確認します。
コード内の定数値 EnterYourSSPNameHere を共有リソース プロバイダの名前に置き換えます。
例で参照されている LobSystem オブジェクトおよびエンティティの名前がビジネス データ カタログ内に存在することを確認します。有効な名前を使用します。
Project References
このサンプルを実行する前に、コンソール アプリケーション コード プロジェクトに以下のプロジェクト参照を追加します。
Microsoft.SharePoint
Microsoft.SharePoint.Portal
Microsoft.Office.Server
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using Microsoft.Office.Server.ApplicationRegistry.MetadataModel;
using Microsoft.Office.Server.ApplicationRegistry.Runtime;
using Microsoft.Office.Server.ApplicationRegistry.SystemSpecific;
using Microsoft.Office.Server.ApplicationRegistry.Infrastructure;
using WSSAdmin = Microsoft.SharePoint.Administration;
using OSSAdmin = Microsoft.Office.Server.Administration;
namespace Microsoft.SDK.SharePointServer.Samples
{
class GetSystemAndEntity
{
const string yourSSPName = "EnterYourSSPNameHere";
static void Main(string[] args)
{
SetupBDC();
DisplayLOBSystemsinBDC();
GetLOBSystem();
GetEntity();
Console.WriteLine("Press any key to exit...");
Console.Read();
}
static void SetupBDC()
{
SqlSessionProvider.Instance().SetSharedResourceProviderToUse(yourSSPName);
}
static void DisplayLOBSystemsinBDC()
{
NamedLobSystemInstanceDictionary sysInstances = ApplicationRegistry.GetLobSystemInstances();
Console.WriteLine("Listing system instances...");
foreach (String name in sysInstances.Keys)
{
Console.WriteLine(name);
}
}
static void GetLOBSystem()
{
NamedLobSystemInstanceDictionary sysInstances = ApplicationRegistry.GetLobSystemInstances();
LobSystemInstance AdvWorksIns = sysInstances["AdventureWorksSampleInstance"];
Console.WriteLine("Getting a system instance and displaying its ID...");
LobSystem AdvWorksSys = AdvWorksIns.GetLobSystem();
Console.WriteLine(AdvWorksSys.Name.ToString());
Console.WriteLine("ID: "+AdvWorksSys.Id.ToString());
}
static void GetEntity()
{
NamedLobSystemInstanceDictionary sysInstances = ApplicationRegistry.GetLobSystemInstances();
LobSystemInstance AdvWorksIns = sysInstances["AdventureWorksSampleInstance"];
Console.WriteLine("Getting an entity object and displaying its ID...");
Entity prodEntity = AdvWorksIns.GetEntities()["Product"];
Console.WriteLine(prodEntity.Name.ToString());
Console.WriteLine("ID: "+prodEntity.Id.ToString());
}
}
}
継承階層
System.Object
Microsoft.Office.Server.ApplicationRegistry.MetadataModel.MetadataObject
Microsoft.Office.Server.ApplicationRegistry.MetadataModel.AccessControlledMetadataObject
Microsoft.Office.Server.ApplicationRegistry.MetadataModel.DataClass
Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity
スレッドの安全性
この型のパブリックで静的な (Visual Basic では Shared) すべてのメンバは、スレッド セーフです。インスタンス メンバは、スレッド セーフであるとは保証されません。
関連項目
参照
Entity メンバ
Microsoft.Office.Server.ApplicationRegistry.MetadataModel 名前空間