Фрагмент кода: выполнение экземпляра метода BulkSpecificFinder для внешнего типа содержимого
Дата последнего изменения: 6 мая 2010 г.
Применимо к: SharePoint Server 2010
В этой статье
Описание
Необходимые компоненты
Использование этого примера
Описание
В следующем примере кода показано программное выполнение экземпляра метода BulkSpecificFinder внешнего типа контента с помощью объектной модели среды выполнения BDC на сервере.
Необходимые компоненты
Microsoft SharePoint Server 2010 или Microsoft SharePoint Foundation 2010 на сервере.
Microsoft .NET Framework 3.5 и Microsoft Visual Studio на клиенте.
Использование этого примера
Запустите Visual Studio и создайте проект консольного приложения C#. При создании проекта выберите .NET Framework 3.5.
В меню Вид выберите Страницы свойств, чтобы вывести свойства проекта.
На вкладке Построение в качестве Целевой платформы выберите Любой ЦП.
Закройте окно свойств проекта
В обозревателе решений в разделе Ссылки удалите все ссылки проекта кроме System и System.Core.
Добавьте в проект следующие ссылки:
Microsoft.BusinessData
Microsoft.SharePoint
System.Web
Замените автоматически созданный код в файле Program.cs на код, приведенный в конце этой процедуры.
Замените значения <ID> и SiteURL на допустимые значения.
Этот образец основан на образце базы данных AdventureWorks и внешнем типе контента SalesOrder. Если используется другая внешняя система, измените соответствующим образом имя внешнего типа контента и LobSystem в коде.
Сохраните проект.
Скомпилируйте и запустите проект.
using System;
using System.Collections.Generic;
using Microsoft.SharePoint.BusinessData.SharedService;
using Microsoft.BusinessData.MetadataModel;
using Microsoft.BusinessData.MetadataModel.Collections;
using Microsoft.BusinessData.Runtime;
using Microsoft.SharePoint.Administration;
using Microsoft.SharePoint;
namespace SDKSamples
{
class Methods
{
static void Main(string[] args)
{
List<Identity> identities = new List<Identity>();
identities.Add(new Identity(<ID1>));
identities.Add(new Identity(<ID2>));
identities.Add(new Identity(<ID3>));
identities.Add(new Identity(<ID4>));
FindMultipleSalesOrderById(identities);
}
// BulkSpecificFinder.
public static void FindMultipleSalesOrderById(
IList<Identity> identities)
{
string SiteURL = "<siteUrl>";
using (SPSite site = new SPSite(SiteURL))
{
using (new Microsoft.SharePoint.SPServiceContextScope(
SPServiceContext.GetContext(site)))
{
BdcService service =
SPFarm.Local.Services.GetValue<BdcService>(String.Empty);
IMetadataCatalog catalog =
service.GetDatabaseBackedMetadataCatalog(
SPServiceContext.Current);
// Get entity.
IEntity salesOrderEntity = catalog.GetEntity(
"AdventureWorks", "SalesOrder");
// Get LOB System instance.
ILobSystemInstance lobSystemInstance =
salesOrderEntity.GetLobSystem().
GetLobSystemInstances()["AdventureWorks"];
IEntityInstanceEnumerator orders = null;
try
{
// Read the given identities.
orders = salesOrderEntity.FindSpecificMultiple(
identities,
"Bulk Read Item",
lobSystemInstance,
OperationMode.Online);
// List found orders.
while (orders.MoveNext())
{
Console.WriteLine(
String.Format(
"Id: {0}, OrderDate: {1}",
orders.Current["SalesOrderID"],
orders.Current["OrderDate"]));
}
}
finally
{
// Ensure the enumerator is closed.
if (orders != null)
{
orders.Close();
}
}
}
}
}
}
}
См. также
Ссылка
GetDatabaseBackedMetadataCatalog(SPServiceContext)
FindSpecificMultiple(IList<Identity>, String, ILobSystemInstance, OperationMode)