Discriminated Unions for Static Data
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
L’issue non nomina file né test; inizia leggendo la funzionalità Individuals esistente e i percorsi query/type-provider da cui dipende. Confronta questi punti di ingresso con la proiezione manuale di ContentTypeId mostrata qui; il lavoro è completato quando i discriminated-union foreign-key IDs possono essere usati direttamente senza questa mappatura.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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?
- Lingua principale
- F#
- Stelle
- 627
- Fork
- 147
- Merge medio
- 2h 2m
- PR unite (30g)
- 1
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di fsprojects/SQLProvider
-
enhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
fsprojects/SQLProvider#872 · 2 commenti ·
-
Repo Assist? Apertaenhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 10/100
fsprojects/SQLProvider#870 · 1 commento ·
-
postgresql
Difficoltà 4/5 3-5 giorni Idoneità per principianti 58/100
fsprojects/SQLProvider#869 · 2 commenti ·
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 42/100
fsprojects/SQLProvider#868 · 2 commenti ·
-
sql server
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
fsprojects/SQLProvider#851 · 1 commento ·
Tutte le issue di fsprojects/SQLProvider
Issue simili
-
Add: New Channel Pop! Apertachannels:add check:passed
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
confluentinc/dbt-confluent#160 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
AstrBotDevs/AstrBot#10205 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100