[方法] エンティティを削除する
管理オブジェクト モデルを持つメタデータの削除は簡単です。すべてのメタデータ オブジェクトには、オブジェクトとその子を削除する Delete メソッドがあります。たとえば、エンティティを削除すると、その下にあるメソッドもすべて削除されます。LobSystem オブジェクトを削除すると、ビジネス データ カタログからアプリケーション全体が削除されます。
このコード例は、ビジネス データ カタログから既存のエンティティを削除する方法を示しています。
例
このコード例は、ビジネス データ カタログから 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 = "SharedServices1";
static void Main(string[] args)
{
SetupBDC();
DeleteEntity();
Console.WriteLine("Press any key to exit...");
Console.Read();
}
static void SetupBDC()
{
SqlSessionProvider.Instance().SetSharedResourceProviderToUse(yourSSPName);
}
public static void DeleteEntity()
{
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);
e.Delete();
Console.WriteLine("Done");
}
}
}