A Case condition doesn't work. When I change the select statement to read
SELECT [Portfolio]
,[AnnualReturn]
,case
when [Closed] = 0 then 'false'
else 'true'
end as 'Closed'
FROM [PortfolioPerformance]
I still get the exception.
What I don't understand is why the view seems to think there isn't a field for Closed - "'System.Data.DataRowView' does not contain a property with the name 'Closed'". I would think a conversion error would produce a different exception and error message.
Likewise, a bit conversion still needs to have the field present, so if the DataRowView can't see it, it doesn't matter if the bit is converted or not.