FSharp.Data.Sql Namespace
| Type/Module | Description |
|
Represents SQL aggregate operations for GROUP BY clauses and data summarization. Each operation includes the column name to aggregate. |
|
|
|
|
|
Provides asynchronous operations for SQL queries. Use these functions when you need to execute queries asynchronously to avoid blocking threads. |
|
|
|
|
|
Represents SQL conditional operators used in WHERE clauses and query expressions. These operators are translated to their SQL equivalents when building database queries. |
|
|
|
|
|
One generation of provided types for one set of static parameters. Once built, a generation is served unchanged for the lifetime of the entry. This is a correctness requirement, not a cache policy: the compiler-facing (target-model) provided types are memoized by the TypeProvider SDK keyed on the identity of these source types, so producing a second source root for the same static parameters while any compilation may still re-request it makes the compiler see two unrelated erased types (intermittent FS0193/FS0001 "type X is not compatible with type X"). The entry is therefore only ever dropped whole (idle expiration or explicit cache clear), never rebuilt and swapped in place underneath a live compilation. Reference equality so the identity-checked eviction matches the exact entry instance, not its (concurrently mutated) field values. |
|
|
One generation of provided types for one set of static parameters. Once built, a generation is served unchanged for the lifetime of the entry. This is a correctness requirement, not a cache policy: the compiler-facing (target-model) provided types are memoized by the TypeProvider SDK keyed on the identity of these source types, so producing a second source root for the same static parameters while any compilation may still re-request it makes the compiler see two unrelated erased types (intermittent FS0193/FS0001 "type X is not compatible with type X"). The entry is therefore only ever dropped whole (idle expiration or explicit cache clear), never rebuilt and swapped in place underneath a live compilation. Reference equality so the identity-checked eviction matches the exact entry instance, not its (concurrently mutated) field values. |
|
|
One generation of provided types for one set of static parameters. Once built, a generation is served unchanged for the lifetime of the entry. This is a correctness requirement, not a cache policy: the compiler-facing (target-model) provided types are memoized by the TypeProvider SDK keyed on the identity of these source types, so producing a second source root for the same static parameters while any compilation may still re-request it makes the compiler see two unrelated erased types (intermittent FS0193/FS0001 "type X is not compatible with type X"). The entry is therefore only ever dropped whole (idle expiration or explicit cache clear), never rebuilt and swapped in place underneath a live compilation. Reference equality so the identity-checked eviction matches the exact entry instance, not its (concurrently mutated) field values. |
|
|
One generation of provided types for one set of static parameters. Once built, a generation is served unchanged for the lifetime of the entry. This is a correctness requirement, not a cache policy: the compiler-facing (target-model) provided types are memoized by the TypeProvider SDK keyed on the identity of these source types, so producing a second source root for the same static parameters while any compilation may still re-request it makes the compiler see two unrelated erased types (intermittent FS0193/FS0001 "type X is not compatible with type X"). The entry is therefore only ever dropped whole (idle expiration or explicit cache clear), never rebuilt and swapped in place underneath a live compilation. Reference equality so the identity-checked eviction matches the exact entry instance, not its (concurrently mutated) field values. |
|
|
One generation of provided types for one set of static parameters. Once built, a generation is served unchanged for the lifetime of the entry. This is a correctness requirement, not a cache policy: the compiler-facing (target-model) provided types are memoized by the TypeProvider SDK keyed on the identity of these source types, so producing a second source root for the same static parameters while any compilation may still re-request it makes the compiler see two unrelated erased types (intermittent FS0193/FS0001 "type X is not compatible with type X"). The entry is therefore only ever dropped whole (idle expiration or explicit cache clear), never rebuilt and swapped in place underneath a live compilation. Reference equality so the identity-checked eviction matches the exact entry instance, not its (concurrently mutated) field values. |
|
|
One generation of provided types for one set of static parameters. Once built, a generation is served unchanged for the lifetime of the entry. This is a correctness requirement, not a cache policy: the compiler-facing (target-model) provided types are memoized by the TypeProvider SDK keyed on the identity of these source types, so producing a second source root for the same static parameters while any compilation may still re-request it makes the compiler see two unrelated erased types (intermittent FS0193/FS0001 "type X is not compatible with type X"). The entry is therefore only ever dropped whole (idle expiration or explicit cache clear), never rebuilt and swapped in place underneath a live compilation. Reference equality so the identity-checked eviction matches the exact entry instance, not its (concurrently mutated) field values. |
|
|
One generation of provided types for one set of static parameters. Once built, a generation is served unchanged for the lifetime of the entry. This is a correctness requirement, not a cache policy: the compiler-facing (target-model) provided types are memoized by the TypeProvider SDK keyed on the identity of these source types, so producing a second source root for the same static parameters while any compilation may still re-request it makes the compiler see two unrelated erased types (intermittent FS0193/FS0001 "type X is not compatible with type X"). The entry is therefore only ever dropped whole (idle expiration or explicit cache clear), never rebuilt and swapped in place underneath a live compilation. Reference equality so the identity-checked eviction matches the exact entry instance, not its (concurrently mutated) field values. |
|
|
One generation of provided types for one set of static parameters. Once built, a generation is served unchanged for the lifetime of the entry. This is a correctness requirement, not a cache policy: the compiler-facing (target-model) provided types are memoized by the TypeProvider SDK keyed on the identity of these source types, so producing a second source root for the same static parameters while any compilation may still re-request it makes the compiler see two unrelated erased types (intermittent FS0193/FS0001 "type X is not compatible with type X"). The entry is therefore only ever dropped whole (idle expiration or explicit cache clear), never rebuilt and swapped in place underneath a live compilation. Reference equality so the identity-checked eviction matches the exact entry instance, not its (concurrently mutated) field values. |
|
|
One generation of provided types for one set of static parameters. Once built, a generation is served unchanged for the lifetime of the entry. This is a correctness requirement, not a cache policy: the compiler-facing (target-model) provided types are memoized by the TypeProvider SDK keyed on the identity of these source types, so producing a second source root for the same static parameters while any compilation may still re-request it makes the compiler see two unrelated erased types (intermittent FS0193/FS0001 "type X is not compatible with type X"). The entry is therefore only ever dropped whole (idle expiration or explicit cache clear), never rebuilt and swapped in place underneath a live compilation. Reference equality so the identity-checked eviction matches the exact entry instance, not its (concurrently mutated) field values. |
|
|
One generation of provided types for one set of static parameters. Once built, a generation is served unchanged for the lifetime of the entry. This is a correctness requirement, not a cache policy: the compiler-facing (target-model) provided types are memoized by the TypeProvider SDK keyed on the identity of these source types, so producing a second source root for the same static parameters while any compilation may still re-request it makes the compiler see two unrelated erased types (intermittent FS0193/FS0001 "type X is not compatible with type X"). The entry is therefore only ever dropped whole (idle expiration or explicit cache clear), never rebuilt and swapped in place underneath a live compilation. Reference equality so the identity-checked eviction matches the exact entry instance, not its (concurrently mutated) field values. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Contains custom SQL operators for use in query expressions. These operators are translated to their SQL equivalents during query compilation. |
|
|
|
|
|
Specifies where SELECT operations should be executed for query optimization. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|