I have a Linq query which is working fine but i have noticed when i use take keyword with that query it does not return the same top selected records.
When i saw the Sql profiler query they are totally same excepts just top keyword in that what may be the problem. One more thing i have noticed is when i give a no greater then records in database it works fine with take as well.
I am attaching the query and records attachment

and when I apply top 10 in this query it shows this records

What could be the problem im using Sql Server 2008 R2.
Using
TOPkeyword without ordering does not guarantee repeatability of resultset.From here