The isolation mode is a .NET enum, and it doesn't have a 'ReadOnly' value. So npgsql is (IMHO) only able to work with the enum values in the .NET enum IsolationLevel. The postgresql docs aren't really helpful about what readonly really means. Couldn't you use one of the other alternatives, e.g. serializable or snapshot?