LinqDataSource.ContextTypeName Property

Definition

Gets or sets the name of the type that contains the property whose value has the data that you want to retrieve.

public:
 property System::String ^ ContextTypeName { System::String ^ get(); void set(System::String ^ value); };
public:
 virtual property System::String ^ ContextTypeName { System::String ^ get(); void set(System::String ^ value); };
public string ContextTypeName { get; set; }
public override string ContextTypeName { get; set; }
member this.ContextTypeName : string with get, set
Public Property ContextTypeName As String
Public Overrides Property ContextTypeName As String

Property Value

The name of the class to retrieve data from.

Examples

The following example shows how to set the ContextTypeName property to a class that contains an array of strings. It also shows how to set the property to a class (generated by the O/R Designer) that represents a database.

<!-- Retrieve and display data from array of string values -->
<asp:LinqDataSource 
    ContextTypeName="MovieLibrary" 
    TableName="AvailableGenres" 
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:DropDownList 
    DataSourceID="LinqDataSource1"
    runat="server" 
    ID="DropDownList1">
</asp:DropDownList>

<!-- Retrieve and display data from database -->
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Movies" 
    Select="Title"
    ID="LinqDataSource2" 
    runat="server">
</asp:LinqDataSource>
<asp:DropDownList 
    DataSourceID="LinqDataSource2"
    runat="server" 
    ID="DropDownList2">
</asp:DropDownList>
<!-- Retrieve and display data from array of string values -->
<asp:LinqDataSource 
    ContextTypeName="MovieLibrary" 
    TableName="AvailableGenres" 
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:DropDownList 
    DataSourceID="LinqDataSource1"
    runat="server" 
    ID="DropDownList1">
</asp:DropDownList>

<!-- Retrieve and display data from database -->
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Movies" 
    Select="Title"
    ID="LinqDataSource2" 
    runat="server">
</asp:LinqDataSource>
<asp:DropDownList 
    DataSourceID="LinqDataSource2"
    runat="server" 
    ID="DropDownList2">
</asp:DropDownList>

The class named ExampleDataContext that represents the database table is not shown in this example. For this example to work, you must create this class by adding a LINQ To SQL class named Example.dbml and dragging a table named Movie onto the O/R Designer. A class named ExampleDataContext with a property named Movies is generated.

The following example shows the class named MovieLibrary that is referenced in the LinqDataSource control.

public class MovieLibrary
{
    string[] _availableGenres = { "Comedy", "Drama", "Romance" };

    public MovieLibrary()
    {
    }

    public string[] AvailableGenres
    {
        get
        {
            return _availableGenres;
        }
    }
}
Public Class MovieLibrary
    Dim _availableGenres() As String = {"Comedy", "Drama", "Romance"}

    Public ReadOnly Property AvailableGenres() As String()
        Get
            Return _availableGenres
        End Get
    End Property
    
End Class

Remarks

When you use the LinqDataSource control to retrieve data from either an in-memory data collection or a database, you must specify two properties. The first is a data context class that represents the data source. The second is a property in the data context class that contains the data. You set the ContextTypeName property to the name of the data context class and you set the TableName property to the data collection that contains the data.

For example, when you retrieve data from a database, set the ContextTypeName property to the name of the class that represents the database. Also set the TableName property to the property that represents the table in the database. To generate classes from a database, use the O/R Designer or the SqlMetal.exe utility to automatically generate those classes.

When you retrieve data from an in-memory data collection such as an array, set the ContextTypeName property to the name of the class that contains the array property. Then set the TableName property to the property that gets the array.

To enable automatic update, insert, or delete operations through the LinqDataSource control, the class assigned to the ContextTypeName property must derive from DataContext. In addition, the property assigned to the TableName property must derive from Table<TEntity>. If you do not need to enable automatic update, insert, or delete operations, you can assign the name of any type of class to the ContextTypeName property.

For information about how to select data from an instance of a class, see the Result property.

Applies to

See also