hi,
we have created our own data source, then in the QueryableDataSourceView.GetSource we execute the following linq queries (i removed a lot of code to simplify the question):
protected override object GetSource(QueryContext context)
{
//EntityType is System.Type represents the table
return Query.All(EntityType).OfType<BusinessUnitEntityBase>().Where(bu => bu.BusinessUnitCode.In("5"));
}
but after the method returns to QueryableDataSourceView.ExecuteSelect i receive System.InvalidOperationException with message "The ordering of records is not specified for RowNumberProvider", i know that the problem happens when using "In" or "Contains" methods in the linq query , but i don't know how to solve it.
here us the stack trace:
at Xtensive.Storage.Providers.Sql.SqlCompiler.VisitRowNumber(RowNumberProvider provider)
at Xtensive.Storage.Rse.Compilation.Compiler`1.Compile(CompilableProvider cp)
at Xtensive.Storage.Providers.Sql.Servers.SqlServer.SqlCompiler.VisitTake(TakeProvider provider)
at Xtensive.Storage.Rse.Compilation.Compiler`1.Compile(CompilableProvider cp)
at Xtensive.Storage.Providers.Sql.ManualPagingSqlCompiler.VisitSkip(SkipProvider provider)
at Xtensive.Storage.Rse.Compilation.Compiler`1.Compile(CompilableProvider cp)
at Xtensive.Storage.Providers.Sql.SqlCompiler.VisitSelect(SelectProvider provider)
at Xtensive.Storage.Rse.Compilation.Compiler`1.Compile(CompilableProvider cp)
at Xtensive.Storage.Providers.Sql.SqlCompiler.VisitSelect(SelectProvider provider)
at Xtensive.Storage.Rse.Compilation.Compiler`1.Compile(CompilableProvider cp)
at Xtensive.Storage.Rse.Compilation.Compiler`1.Xtensive.Storage.Rse.Compilation.ICompiler.Compile(CompilableProvider provider)
at Xtensive.Storage.Rse.Compilation.CompilationContext.Compile(CompilableProvider provider)
at Xtensive.Storage.Rse.RecordSet.<GetEnumerator>d__4.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at Xtensive.Core.EnumerableExtensions.<Batch>d__20`1.MoveNext()
at Xtensive.Core.EnumerableExtensions.<ApplyBeforeAndAfter>d__28`1.MoveNext()
at Xtensive.Storage.TransactionalExtensions.<ToTransactional>d__0`1.MoveNext()
at System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
asked
Dec 08 '10 at 14:26
ahmad emad
26●29●29●31
Could you provide a stack trace?