using System;
using System.Linq.Expressions;
namespace System.Linq
{
/// Defines methods to create and execute queries that are described by an object.
/// 2
// Token: 0x0200003C RID: 60
public interface IQueryProvider
{
/// Constructs an object that can evaluate the query represented by a specified expression tree.
/// An that can evaluate the query represented by the specified expression tree.
/// An expression tree that represents a LINQ query.
// Token: 0x0600038D RID: 909
IQueryable CreateQuery(Expression expression);
/// Executes the query represented by a specified expression tree.
/// The value that results from executing the specified query.
/// An expression tree that represents a LINQ query.
// Token: 0x0600038E RID: 910
object Execute(Expression expression);
/// Constructs an object that can evaluate the query represented by a specified expression tree.
/// An that can evaluate the query represented by the specified expression tree.
/// An expression tree that represents a LINQ query.
/// The type of the elements of the that is returned.
// Token: 0x0600038F RID: 911
IQueryable CreateQuery(Expression expression);
/// Executes the strongly-typed query represented by a specified expression tree.
/// The value that results from executing the specified query.
/// An expression tree that represents a LINQ query.
/// The type of the value that results from executing the query.
// Token: 0x06000390 RID: 912
TResult Execute(Expression expression);
}
}