fsprojects / SQLProvider

A general F# SQL database erasing type provider, supporting LINQ queries, schema exploration, individuals, CRUD operations and much more besides.
https://fsprojects.github.io/SQLProvider
Other
564 stars 144 forks source link

[Question] Specify the type of generated field for SQLite TEXT columns #761

Open Peluko opened 2 years ago

Peluko commented 2 years ago

I'm working with a SQLite database that contains some data that needs decimal precision (basically money amounts). In order to keep precision, this data is saved on a TEXT column on SQLite and actually mapped to a decimal when working with EF Core on C# (EF Core does this mapping automatically when using Code First approach).

I'm playing with F# now, and I've found that SQLProvider maps those columns to string (as expected). Is there any way to tell SQLProvider to map selected columns to decimal instead of string?

Thorium commented 1 year ago

Hi,

I don't think so, but I think you can use cast in your SQL-query like for i in myTable do where ((decimal i.x) > 3m) select i and if SQLite can handle the conversion, then it could work. However, I expect your problem in SQL side is then that you do text comparisons like "11" < "2" ?