Реферат: Введение в ObjectSpaces
Customer cust = (Customer)os.GetObject(typeof(Customer),
"CustomerID=’alfki’");
// Список заказов загрузится при первом обращении
foreach (Order order in cust.Orders)
{
Console.WriteLine(“Customer: {0}, OrderDate: {1}”,
order.Customer.Name, order.OrderDate);
}
}
Дополнительные возможности ObjectSpaces
Чтение данных с использованием DbObjectReader
В отдельных случаях использование класса ObjectSpace может оказаться избыточным или неудобным. Например, если для доступа к базе данных необходимо использовать хранимые процедуры, большая часть функциональности ObjectSpaces окажется ненужной. Но и для подобных ситуаций в ObjectSpaces есть свое решение. Если требуется извлекать из произвольного источника данных информацию в виде объектов приложения, можно использовать класс DbObjectReader. Выступая как тонкая прослойка между ADO.NET-курсором (IDataReader) и классами приложения, DbObjectReader позволяет загружать сохраняемые объекты из источников данных, которые не поддерживаются ObjectSpaces напрямую.
public static void Main() { DataTable table = new DataTable(); table.Columns.Add("CustomerID", typeof(int)); table.Columns.Add("CompanyName", typeof(string)); table.Columns.Add("ContactName", typeof(string)); table.Columns.Add("Phone", typeof(string)); table.Rows.Add(new object[] { 1, "MyCompany", "MyCustomer", "222 33 22" }); using (IDataReader reader = table.GetDataReader()) { DbObjectReader objectReader = new DbObjectReader(reader, typeof(Customer), new MappingSchema("map.xml")); while (objectReader.Read()) { Customer cust = (Customer)objectReader.Current; Console.WriteLine(cust.Name); } К-во Просмотров: 840
Бесплатно скачать Реферат: Введение в ObjectSpaces
|