Right, that's a contrived example, the problem is I was doing a projection so AsEnumerable() wouldn't really work in an ideal way. And like I said, it can work with projections, you just have to make sure to put the skip/take after the select call. I would just say that it's kind of a bug, at least not expected, unless the following is valid, in which you can't do much about it.
db.Users.Skip(10).Take(100).Select(SomeSelectionExpression).skip(0).take(10) which would ultimately return 10 records based on a subset of 100 records. I don't think it's possible in sql server, but I don't know about mysql or postgres or others. So yeah, up to you to decide if it's a bug or not
