Skip to content

Commit b14e33e

Browse files
committed
Add note about generative type providers, use from other .NET langs.
1 parent f89d34d commit b14e33e

1 file changed

Lines changed: 11 additions & 3 deletions

File tree

README.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88

99
Rezoom.SQL is an F# ORM for SQL databases.
1010

11-
It integrates with the F# compiler via a type provider to statically typecheck
12-
its own dialect of SQL. It knows how to translate this SQL dialect to various
13-
backends. Currently it supports SQLite, SQL Server, and PostgreSQL.
11+
It integrates with the F# compiler via a generative type provider to statically
12+
typecheck its own dialect of SQL. It knows how to translate this SQL dialect to
13+
various backends. Currently it supports SQLite, SQL Server, and PostgreSQL.
1414

1515
The type provider makes it fast and easy to write SQL statements, run them, and
1616
consume their results from your F# code with full type safety. You don't need to
@@ -36,6 +36,14 @@ beginning.
3636

3737
![animated example usage to write queries](doc/ReadmeResources/ModelChange.gif)
3838

39+
Because this is a generative type provider, it makes plain old .NET types you
40+
can use from other languages. That is, you can write an F# project that uses
41+
Rezoom.SQL and defines your migrations and queries, then reference that from C#
42+
or VB.NET projects and use the generated query types with no problem in those
43+
langages. There is even an option to represent nullable types with C#-style
44+
`System.Nullable<T>` instead of `FSharpOption<T>` to make this scenario work
45+
extra smoothly.
46+
3947
Check out the [query
4048
playground](http://rzsql.net/#52632EC5A298CFFFD652D53C03DD1318A9DACA3C) to see
4149
what kinds of SQL you can write.

0 commit comments

Comments
 (0)