Привязка к бизнес-объектам
Обновлен: Ноябрь 2007
В бизнес-приложениях обычно применяется инкапсулированная модель данных, в которой используется компонент DAL среднего уровня или бизнес-компонент. Обычно в веб-приложении требуется запись не только кода для объекта бизнес-данных, но и дополнительного кода взаимодействия с компонентом, а также кода для привязки элементов управления к данным, управление которыми осуществляет компонент. Наличие модели управления источником данных ASP.NET упрощает работу с бизнес-компонентом и сильно снижает или устраняет необходимость записи кода, который создается с использованием элемента управления ObjectDataSource, классов LINQ-SQL и элемента управления LinqDataSource.
Элемент управления ObjectDataSource
Элемент управления ObjectDataSource работает с любым бизнес-объектом, инкапсулирующим данные и предоставляющим службы управления данными. В элементе управления ObjectDataSource используется стандартная модель объекта управления источником данных для того, чтобы можно было выполнить привязку элементов управления привязкой данных, например, к элементу управления GridView. С помощью исходного бизнес-объекта можно напрямую управлять доступом к данным или использовать его в качестве программы-оболочки для существующего бизнес-компонента. Дополнительные сведения см. в разделе Создание исходного объекта элемента управления ObjectDataSource.
Элемент управления ObjectDataSource можно связать с бизнес-объектом, присвоив свойству TypeName элемента управления ObjectDataSource значение типа (имя класса) бизнес-объекта. Затем можно указать один или несколько методов бизнес-объекта, с помощью которых элемент управления ObjectDataSource будет вызывать указанные операции с данными. Свойство SelectMethod элемента управления ObjectDataSource позволяет определить метод исходного бизнес-объекта, который будет использован для извлечения данных. Аналогично этому свойства InsertMethod, UpdateMethod и DeleteMethod определяют методы, которые будут соответственно использованы для вставки, обновления и удаления операций.
После связи элемента управления ObjectDataSource с бизнес-объектом можно выполнить привязку элемента управления к элементу управления ObjectDataSource с использованием свойства DataSourceID элемента управления с привязкой, как показано в следующем примере:
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB" Assembly="Samples.AspNet.VB" %>
<%@ Page language="vb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ObjectDataSource - Visual Basic Example</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:gridview
id="GridView1"
runat="server"
datasourceid="ObjectDataSource1" />
<asp:objectdatasource
id="ObjectDataSource1"
runat="server"
selectmethod="GetAllEmployees"
typename="Samples.AspNet.VB.EmployeeLogic" />
</form>
</body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ObjectDataSource - C# Example</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:gridview
id="GridView1"
runat="server"
datasourceid="ObjectDataSource1" />
<asp:objectdatasource
id="ObjectDataSource1"
runat="server"
selectmethod="GetAllEmployees"
typename="Samples.AspNet.CS.EmployeeLogic" />
</form>
</body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSL" Assembly="Samples.AspNet.JSL" %>
<%@ Page language="VJ#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ObjectDataSource - VJ# Example</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:gridview
id="GridView1"
runat="server"
datasourceid="ObjectDataSource1" />
<asp:objectdatasource
id="ObjectDataSource1"
runat="server"
selectmethod="GetAllEmployees"
typename="Samples.AspNet.JSL.EmployeeLogic" />
</form>
</body>
</html>
Дополнительные сведения см. в подразделах раздела Общие сведения о серверном веб-элементе управления ObjectDataSource.
Классы LINQ-SQL
С помощью Сред. Объектно-реляционный конструктор можно создать классы, представляющие базу данных и ее таблицы. Для извлечения и изменения данных в классах, созданных конструктором, используются классы LINQ-SQL. После создания классов можно выполнить привязку к объектам данных с помощью элементов управления LinqDataSource или ObjectDataSource. Дополнительные сведения об элементе управления LinqDataSource см. в разделе Общие сведения о серверном веб-элементе управления LinqDataSource. Дополнительные сведения о LINQ и ASP.NET см. в разделе Использование LINQ с ASP.NET.
См. также
Основные понятия
Общие сведения о серверном веб-элементе управления LinqDataSource
Ссылки
Общие сведения о серверном веб-элементе управления ObjectDataSource