Yes, It is required to call SaveChanges() before querying newly created instances. Executing a query the way you have posted issues a database query. Since the changes are not yet committed to the database, the internal data reader does not include the new record in the results.
If you insist on skipping the SaveChanges() method call, you can use FlushChanges() which will persist the changes to the database (this includes inserted, updated and deleted records), but leaves the database transaction uncommitted. Later you have to additionally commit or rollback the transaction. This approach gives greater control over the database operations, but introduces s bit of complexity.
Here is our documentation about the Context API related to transactions and persistence. Check the SaveChanges, FlushChanges, ClearChanges and Refresh sections.
If you have any additional questions about the Context API or OpenAccess in general do not hesitate to contact us again.
the Telerik team
Follow @OpenAccessORM Twitter channel to get first the latest updates on new releases, tips and tricks and sneak peeks at our product labs!