Yes, the column has no type converter and and DB type is Number(9).
During debugging I noticed that the property ActualDotNetType of the persistenceInfo of the field is null for the TypedView in contrast to Int32 set for an Entity. This results in passing the wrong parameter to Convert.ChangeType(..) in DbSpecificCreatorBase.GetRealValue(..) which the leads to the exception.
I also noticed that LLBLGen generates for the colum the following line in ModellInfoProvider
this.AddElementFieldInfo("InvoiceDetailTypedView", "ContractState", typeof(Nullable<Enumerations.ContractState>), false, false, true, false, (int)InvoiceDetailFieldIndex.ContractState, 0, 0, 9)
The last boolean parameter (7th parameter) is "isNullable" but this column is optional. Therefore it should be true, shouldn't it?
The same applies to PersistenceInfoProvider:
this.AddElementFieldMapping("InvoiceDetailTypedView", "ContractState", "CONTRACTSTATE", false, "Decimal", 0, 9, 0, false, string.Empty, null, typeof(System.Int32), 25);
There it's the 4th parameter which indicates that the column is nullable and it should be true, but is false here. But I don't know if that's related at all to the main problem.