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%20emad's gravatar image

ahmad emad
26292931

edited Jan 04 '11 at 16:04

Sergey's gravatar image

Sergey
123339

Could you provide a stack trace?

(Dec 10 '10 at 03:36) Alex Yakunin Alex%20Yakunin's gravatar image

One Answer:

Hello Ahmad Emad,

The issue is fixed and will be included into the upcoming DataObjects.Net 4.3.x branch update.

answered Dec 22 '10 at 05:15

Dmitri%20Maximov's gravatar image

Dmitri Maximov
22111211

DataObjects.Net 4.3.7 & 4.4 beta 2 is released

(Jan 29 '11 at 04:28) Dmitri Maximov Dmitri%20Maximov's gravatar image
Your answer
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
toggle preview

powered by OSQA