Реферат: Введение в ObjectSpaces
ObjectPersistence("Data Source=local; Integrated Security=true;",
"Persistence");
static void Main(string[] args)
{
Customer c = new Customer();
// Ищемзаказчикавбазеданных
c = (Customer)op.LoadObject(typeof(Customer), "CustomerID = 'alfki'");
if (c == null)
{
c = new Customer("alfki");
c.Comments = "New Customer";
}
else
{
c.Comments = "Old Customer";
}
// Сохраняемизменения.
// Если база данных/таблица еще не созданы, то это произойдет сейчас
op.Persist(c);
}
}
Класс ObjectPersistence спроектирован таким образом, что для его использования не обязательно предварительно создавать базу данных, настраивать XML-схемы данных – все это делается внутри реализации ObjectPersistence. Так, в приведенном выше примере на SQL Server будет создана база данных Persistence, и в нее будет добавлена таблица с именем Customer. Конечно, не в каждом проекте можно допустить подобные вольности со стороны библиотеки доступа к данным, но для простейших реализаций – это замечательная возможность скрыть ненужные детали.
Итог
Технологии доступа к данным в .NET Framework 1.2 содержат множество полезных нововведений, но если для ADO.NET это скорее эволюционные изменения, связанные с простым расширением библиотеки, то ObjectSpaces является совершенно новым продуктом, который может кардинальным образом изменить подход к работе с данными. Конечно, в настоящий момент работа над библиотекой еще далека от завершения. К моменту выхода VisualStudio «Whidbey» мы сможем увидеть в ней массу изменений, начиная с использования generics и расширения возможностей OPath, и заканчивая DML-операторами для удаления объектов без предварительного их извлечения.