Partager via


Liaison à des objets métier

Mise à jour : novembre 2007

Les applications d'entreprise emploient très souvent un modèle de données encapsulées qui utilisent un composant métier ou une couche d'accès aux données de niveau intermédiaire. En général, dans une application Web, vous devez écrire non seulement le code pour l'objet de données métier mais aussi du code supplémentaire pour communiquer avec le composant et du code pour lier les contrôles aux données gérées par le composant. Le modèle de contrôle de source de données ASP.NET simplifie l'utilisation d'un composant métier et réduit sensiblement, voire élimine, la nécessité d'écrire du code grâce au contrôle ObjectDataSource, aux classes LINQ to SQL et au contrôle LinqDataSource.

Contrôle ObjectDataSource

Le contrôle ObjectDataSource fonctionne avec tout objet métier qui encapsule des données et fournit des services de gestion de données. Le contrôle ObjectDataSource utilise le modèle d'objet du contrôle de source de données standard, afin que les contrôles liés aux données, par exemple le contrôle GridView, puissent créer une liaison avec celui-ci. L'objet métier source peut gérer directement l'accès aux données ou servir de wrapper pour un composant métier existant. Pour plus d'informations, consultez Création d'un objet source de contrôle ObjectDataSource.

Vous associez un contrôle ObjectDataSource à un objet métier en affectant à la propriété TypeName du contrôle ObjectDataSource le type (nom de classe) de l'objet métier. Vous spécifiez ensuite une ou plusieurs méthodes de l'objet métier que le contrôle ObjectDataSource appelle pour exécuter des opérations de données spécifiques. La propriété SelectMethod du contrôle ObjectDataSource identifie la méthode de l'objet métier source qui sera utilisée pour récupérer des données. De même, les propriétés InsertMethod, UpdateMethod et DeleteMethod identifient les méthodes utilisées respectivement pour les opérations d'insertion, de mise à jour et de suppression.

Dès que vous avez associé votre contrôle ObjectDataSource à l'objet métier, vous pouvez lier un contrôle au contrôle ObjectDataSource à l'aide de la propriété DataSourceID du contrôle lié aux données, comme l'illustre l'exemple suivant.

<%@ 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" >

        <asp:gridview
          id="GridView1"
          
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          
          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" >

        <asp:gridview
          id="GridView1"
          
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          
          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" >

        <asp:gridview
          id="GridView1"
          
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          
          selectmethod="GetAllEmployees"
          typename="Samples.AspNet.JSL.EmployeeLogic" />

    </form>
  </body>
</html>

Pour plus d'informations, consultez les rubriques de la section Vue d'ensemble du contrôle serveur Web ObjectDataSource.

Classes LINQ to SQL

Vous pouvez créer des classes qui représentent une base de données et ses tables en utilisant le Concepteur Objet/Relationnel. Les classes générées par le concepteur utilisent LINQ to SQL pour récupérer des données et y apporter des modifications. Après avoir créé les classes, vous pouvez créer une liaison avec les objets de données en utilisant le contrôle LinqDataSource ou ObjectDataSource. Pour plus d'informations sur le contrôle LinqDataSource, consultez Vue d'ensemble du contrôle serveur Web LinqDataSource. Pour plus d'informations sur LINQ et ASP.NET, consultez Utilisation de LINQ avec ASP.NET.

Voir aussi

Concepts

Vue d'ensemble du contrôle serveur Web LinqDataSource

Référence

Vue d'ensemble du contrôle serveur Web ObjectDataSource