如何:删除实体
使用管理对象模型删除元数据很简单。每个元数据对象都具有一个用于删除对象及其子级的 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");
}
}
}