In ArcMap, I tried creating a QueryLayer with query "Select Id, StartDate, EndDate... from view_viewname" but instead of setting Id as OID field it sets rest of the fields in the select query as OIDFields.
Its an Oracle database where the view is residing. I dont face similar issues with sql server database.