Discriminated Unions for Static Data
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
Piste de recherche
L’issue ne nomme aucun fichier ni test ; commencez par lire la fonctionnalité Individuals existante et les chemins query/type-provider dont elle dépend. Comparez ces points d’entrée avec la projection manuelle de ContentTypeId présentée ici ; le travail est terminé lorsque les discriminated-union foreign-key IDs peuvent être utilisés directement sans ce mapping.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Another question, but are there any plans for allowing discriminated unions to be used as the type for foreign key IDs to static data? I know entity framework supports this with enums but it would be handy to be able to use discriminated unions for obvious reasons:
type ContentTypeId =
| Book
| Magazine
| Newspaper
...
let printData item =
match item.ContentTypeId with
| Book -> printfn "Found a book with id: %d" item.Id
| Magazine -> printfn "Found a magazine with id: %d" item.Id
| Newspaper -> printfn "Found a newspaper with id: %d" item.Id
It's possible to do this now by mapping the ID when projecting results:
let getContentTypeId = function
| 1 -> Book
| 2 -> Magazine
| 3 -> Newpaper
...
query {
for item in ctx.Dbo.Media do
select
{ contentTypeId = getContentTypeId item.contentTypeId;
}
}
This can get tedious and is pretty brittle, and an auto-generated solution would be preferable if possible. The infrastructure for the Individuals feature would probably be reusable to accomplish this?
- Langage dominant
- F#
- Étoiles
- 627
- Forks
- 147
- Merge moyen
- 2 h 2 min
- PR mergées (30 j)
- 1
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de fsprojects/SQLProvider
-
enhancement
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
fsprojects/SQLProvider#872 · 2 commentaires ·
-
Repo Assist? Ouverteenhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 10/100
fsprojects/SQLProvider#870 · 1 commentaire ·
-
postgresql
Difficulté 4/5 3-5 jours Accessibilité débutants 58/100
fsprojects/SQLProvider#869 · 2 commentaires ·
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 42/100
fsprojects/SQLProvider#868 · 2 commentaires ·
-
sql server
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
fsprojects/SQLProvider#851 · 1 commentaire ·
Toutes les issues de fsprojects/SQLProvider
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
hanami/hanami-cli#449 ·
-
external-issue to-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
-
SqliteSaver.list(filter=...) silently misses nested metadata values containing non-ASCII text Ouverteexternal
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
langchain-ai/langgraph#9074 · 1 commentaire ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 92/100
litestar-org/sqlspec#816 ·
-
JIT-compiled number -> Decimal conversion silently overflows instead of raising DECIMAL_OVERFLOW Ouvertefuzz
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
ClickHouse/ClickHouse#122114 ·