When I directly return a dynamic object (obtained from Dapper) from a WebApi2 method, the casing of the properties is unmolested and exactly matches the column name casing defined in the query SQL.
The object in question is a row set, and if I operate on it with LINQ and return the resultant IEnumerable, suddenly the json is camel-cased.
This is tangentially relevant: Web API 2: how to return JSON with camelCased property names, on objects and their sub-objects
How can I configure serialisation to mind its own damn business and pass names through unchanged?
Not forced to camel case or Pascal case, just passed through.