Реферат: Введение в ObjectSpaces

}

ObjectEngine

Класс ObjectEngine лежит в основе ObjectSpaces и реализует механизмы взаимодействия с источником данных. В большинстве случаев ObjectEngine напрямую не используется, но в ситуациях, когда необходимо выполнить OPath-запрос или сохранить объект в БД в обход основной функциональности ObjectSpaces и с минимальными издержками – использование ObjectEngine может пригодиться.

// Небольшой пример использования функциональности ObjectEngine

public static void Main()

{

using (SqlConnection conn = new SqlConnection(

"Data Source=tim; Integrated Security=SSPI; Database=northwind"))

{

conn.Open();

// Учитывая, что ObjectEngine – это “низкоуровневый” класс, некоторую часть

// подготовительной работы приходится выполнять самостоятельно.

ObjectContext context =

new CommonObjectContext(new ObjectSchema("osd.xml"));

MappingSchema msd = new MappingSchema("map.xml");

ObjectSchema osd = new ObjectSchema("osd.xml");

ObjectSources sources = new ObjectSources();

sources.Add("NorthwindRSD", conn);

// Создаем OPath запрос и читаем данные из БД

ObjectExpression expr = OPath.Parse(

new ObjectQuery(typeof(Customer), "", ""), osd);

// Еще одна издержка ObjectEngine – перед использованием OPath

// запрос надо “компилировать”.

CompiledQuery query = expr.Compile(msd);

Customer cust = null;

// Выполняем OPath-запрос, используя “объектный” курсор.

using (ObjectReader reader =

ObjectEngine.GetObjectReader(sources, context, query, new object[] { }))

{

К-во Просмотров: 837
Бесплатно скачать Реферат: Введение в ObjectSpaces