管理オブジェクト モデルを使用して、メタデータ オブジェクトを更新できます。以下のコード例では、アクションを追加し、既存のエンティティを更新します。
例
以下のコード例では、アクションを追加し、ProductModel エンティティを更新します。
前提条件
共有サービス プロバイダが既に作成されていることを確認します。
「[方法] 管理オブジェクト モデルを使用して LobSystem を作成する」に示されているように、LobSystem インスタンスを作成し、接続パラメータを設定します。
「[方法] 管理オブジェクト モデルを使用してエンティティを作成する」に示されているように ProductModel エンティティを作成します。
「[方法] 管理オブジェクト モデルを使用してメソッドおよびフィルタを作成する」に示されているように Finder メソッドを作成します。
コード内の定数値 EnterYourSSPNameHere を共有リソース プロバイダの名前に置き換えます。
プロジェクト参照
このサンプルを実行する前に、コンソール アプリケーション コード プロジェクトに以下のプロジェクト参照を追加します。
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 = Entity.GetById(entityCollection[0].Id);
Action pmaction = e.Actions.Create("Search on MSN", true, 1, true, "https://www.msn.com?q={0}", null);
pmaction.ActionParameters.Create("Name", true, 0);
e.Update();
Console.WriteLine("Added an action and updated the entity successfully.");
}
}
}