EntityList<TEntity> Class

Represents a Microsoft SharePoint Foundation list that can be queried with Language Integrated Query (LINQ).

Inheritance Hierarchy


Namespace:  Microsoft.SharePoint.Linq
Assembly:  Microsoft.SharePoint.Linq (in Microsoft.SharePoint.Linq.dll)


<PermissionSetAttribute(SecurityAction.Assert, Name := "FullTrust")> _
Public NotInheritable Class EntityList(Of TEntity) _
    Implements IOrderedQueryable(Of TEntity), IQueryable(Of TEntity),  _
    IEnumerable(Of TEntity), IOrderedQueryable, IQueryable, IEnumerable
Dim instance As EntityList(Of TEntity)
[PermissionSetAttribute(SecurityAction.Assert, Name = "FullTrust")]
public sealed class EntityList<TEntity> : IOrderedQueryable<TEntity>, 
    IQueryable<TEntity>, IEnumerable<TEntity>, IOrderedQueryable, IQueryable, 

Type Parameters

  • TEntity
    The content type of the list items.


This class enables querying over the list; adding, recycling, editing, or deleting list items; and registering detached objects with the change tracking system.

There is no public constructor for the class. An EntityList<TEntity> object is created with the DataContext.GetList<T>(String) method. The object returned by the ScopeToFolder(String, Boolean) method can also be cast to EntityList<TEntity>.

The following example shows how to get a reference to an EntityList<TEntity> object.

EntityList<Announcement> announcements = teamSite.GetList<Announcement>(“Announcements”)
Dim announcements As EntityList(Of Announcement) = teamSite.GetList(Of Announcement)("Announcements")

You derive a class from DataContext and declare read only EntityList<TEntity> properties in it that represent the lists of the Web site. If you do that, you can reference the lists with standard property read syntax.


The following example shows a declaration of a DataContext-derived class. Below that is an example of a query that references one of the properties without having to call GetList<T>(String).

public partial class TeamSiteDataContext : DataContext 
    // ctors omitted for readability.
    public EntityList<Item> Projects 
        get {
            return this.GetList<Item>("Projects");
    public EntityList<Item> Managers 
        get {
            return this.GetList<Item>("Managers");
    [List(Name="Team Members")]
    public EntityList<Item> TeamMembers 
        get {
            return this.GetList<Item>("Team Members");
Partial Public Class TeamSiteDataContext
    Inherits DataContext
    ' ctors omitted for readability.

    Public ReadOnly Property Projects() As EntityList(Of Item)
            Return Me.GetList(Of Item)("Projects")
        End Get
    End Property

    Public ReadOnly Property Managers() As EntityList(Of Item)
            Return Me.GetList(Of Item)("Managers")
        End Get
    End Property

    <List(Name:="Team Members")>
    Public ReadOnly Property TeamMembers() As EntityList(Of Item)
            Return Me.GetList(Of Item)("Team Members")
        End Get
    End Property
End Class
TeamSiteDataContext ourTeamSite = new TeamSiteDataContext(“http://MarketingTeam”);

var vicePresidents = from manager in ourTeamSite.Managers
                     where manager.Rank = “Vice President”
                     select manager;
Dim ourTeamSite As New TeamSiteDataContext("http://MarketingTeam")

Dim vicePresidents = From manager In ourTeamSite.Managers
                     Where manager.Rank = "Vice President"
                     Select manager

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also


EntityList<TEntity> Members

Microsoft.SharePoint.Linq Namespace