Action クラス (Microsoft.Office.Server.ApplicationRegistry.Administration)
ビジネス データ カタログ内のアクションを表します。
名前空間: Microsoft.Office.Server.ApplicationRegistry.Administration
アセンブリ: Microsoft.SharePoint.Portal (microsoft.sharepoint.portal.dll 内)
構文
'宣言
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel:=True)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel:=True)> _
Public Class Action
Inherits AccessControlledMetadataObject
'使用
Dim instance As Action
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel=true)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel=true)]
public class Action : AccessControlledMetadataObject
備考
エンティティはビジネス データ カタログ内でアクションを持つことができます。バックエンド データ ソースへのリンクを提供することにより、アクションは Microsoft Office SharePoint Server 2007 と代理のアプリケーション ユーザー インターフェイスとの間の隔たりを橋渡しします。ビジネス データ アクションを使用して、ライトバック シナリオを持つアプリケーションを作成することができます。ライトバック シナリオには、SAP のプロファイル情報をユーザーが直接更新できるようにする顧客プロファイル ビューなどがあります。アクションはリンクとして実装されるので、アクションを使用して電子メール メッセージの送信や顧客のホームページを開くなど簡単な操作を実行することもできます。
アクションは常にエンティティと共に移動します。つまり、エンティティにアクションを定義すると、ビジネス データ Web パーツやビジネス データ列など、そのエンティティを表示する場所に必ずそのアクションが表示されます。
アクションはパラメータを取ることができます。アクションが使用するパラメータは、ActionParameter オブジェクトが定義します。
例
以下のコード例では、アクションを追加し、ProductModel エンティティを更新します。
Prerequisites
共有サービス プロバイダが既に作成されていることを確認します。
「[方法] 管理オブジェクト モデルを使用して LobSystem を作成する」に示すように、LobSystemInstance オブジェクトを作成して接続パラメータを設定します。
「[方法] 管理オブジェクト モデルを使用してエンティティを作成する」に示されている方法で ProductModel エンティティを作成します。
「[方法] 管理オブジェクト モデルを使用してメソッドおよびフィルタを作成する」に示されている方法で Finder メソッドを作成します。
コード内の定数値 EnterYourSSPNameHere を共有リソース プロバイダの名前に置き換えます。
Project References
このサンプルを実行する前に、コンソール アプリケーション コード プロジェクトに以下のプロジェクト参照を追加します。
Microsoft.SharePoint
Microsoft.SharePoint.Portal
Microsoft.Office.Server
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Server.ApplicationRegistry.Administration;
using Microsoft.Office.Server.ApplicationRegistry.Infrastructure;
using WSSAdmin = Microsoft.SharePoint.Administration;
using OSSAdmin = Microsoft.Office.Server.Administration;
namespace Microsoft.SDK.SharePointServer.Samples
{
class GetStartedAndCreateSystem
{
const string yourSSPName ="EnterYourSSPNameHere";
static void Main(string[] args)
{
SetupBDC();
UpdateEntity();
Console.WriteLine("Press any key to exit...");
Console.Read();
}
static void SetupBDC()
{
SqlSessionProvider.Instance().SetSharedResourceProviderToUse(yourSSPName);
}
static void UpdateEntity()
{
LobSystemInstance mySysInstance = null;
LobSystemInstanceCollection sysInsCollection = ApplicationRegistry.Instance.GetLobSystemInstancesLikeName("AdventureWorksSampleFromCode");
foreach (LobSystemInstance sysInstance in sysInsCollection)
{
if (sysInstance.Name == "AdventureWorksSampleFromCode")
{
mySysInstance = sysInstance;
break;
}
}
IList<Entity> entityCollection = new List<Entity>(mySysInstance.LobSystem.Entities);
Entity e = entityCollection[0];
Action pmaction = e.Actions.Create("Search on MSN", true, 1, true, "https://www.msn.com?q={0}", null);
pmaction.ActionParameters.Create("Name", true, 0);
Console.WriteLine("Added an action and updated the entity successfully.");
}
}
}
継承階層
System.Object
Microsoft.Office.Server.ApplicationRegistry.Administration.MetadataObject
Microsoft.Office.Server.ApplicationRegistry.Administration.AccessControlledMetadataObject
Microsoft.Office.Server.ApplicationRegistry.Administration.Action
スレッドの安全性
この型のパブリックで静的な (Visual Basic では Shared) すべてのメンバは、スレッド セーフです。インスタンス メンバは、スレッド セーフであるとは保証されません。
関連項目
参照
Action メンバ
Microsoft.Office.Server.ApplicationRegistry.Administration 名前空間