SqlProgrammabilityProvider with Record based User-Defined Table Types
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
Direzione di ricerca
Inizia riproducendo la configurazione SQL e lo script di test F# dell’issue con SqlProgrammabilityProvider. Esamina come il provider espone gli User-Defined Table Types e come Execute accetta i relativi valori di classe generati. Il lavoro è completo quando un’opzione di configurazione consente valori basati su record, in modo che l’elenco di record mostrato possa essere passato a InsertTypeIntoTable1.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Currently the User-Defined Table Types are classes. Could a config option be added to allow them to be records.
Sql Setup:
--DROP PROCEDURE InsertTypeIntoTable1
--DROP TYPE dbo.Type1
--DROP TABLE Table1
--GO
CREATE TABLE [dbo].[Table1](
Id INT IDENTITY(1,1) NOT NULL,
Name NVARCHAR(50) NOT NULL)
GO
CREATE TYPE dbo.Type1 AS TABLE(
Name NVARCHAR(50) NOT NULL
)
GO
CREATE PROCEDURE InsertTypeIntoTable1
@Data dbo.Type1 READONLY
AS
BEGIN
SET NOCOUNT ON;
INSERT Table1(Name)
SELECT Name
FROM @Data
END
GO
Test Script:
#r "./packages/FSharp.Data.SqlClient/lib/net40/FSharp.Data.SqlClient.dll"
open FSharp.Data
[<Literal>]
let connectionString =
@"Data Source=.;Initial Catalog=Temp;Integrated Security=True"
type Db = SqlProgrammabilityProvider<connectionString>
let cmd = new Db.dbo.InsertTypeIntoTable1(connectionString)
// Type1 is a class
type Type1 = Db.dbo.``User-Defined Table Types``.Type1
cmd.Execute([ Type1("Value 1"); Type1("Value 2") ]) |> ignore
However it would be great if the last line could be used as so (maybe with a config?):
cmd.Execute([ { Name = "Value 1" }; { Name = "Value 2" } ]) |> ignore
- Lingua principale
- F#
- Stelle
- 206
- Fork
- 66
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
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/FSharp.Data.SqlClient
-
Document agentic contribution workflowForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
-
can't use SQL2025 for design timeForse di nuovo libera @smoothdeveloper l’ha presa 73 giorni fa e non c’è nessuna pull request aperta. Aperta
fsprojects/FSharp.Data.SqlClient#484 · 3 commenti · 1 assegnatario ·
-
Requirements going forward?Apertaenhancement question
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
fsprojects/FSharp.Data.SqlClient#445 · 9 commenti ·
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
fsprojects/FSharp.Data.SqlClient#429 · 5 commenti ·
-
NullReferenceException in SqlConnection.UseLocallyForse di nuovo libera @smoothdeveloper l’ha presa 1206 giorni fa e non c’è nessuna pull request aperta. Apertabug
fsprojects/FSharp.Data.SqlClient#428 · 2 commenti · 1 assegnatario ·
Tutte le issue di fsprojects/FSharp.Data.SqlClient
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
Add OG Name : MoshpitAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 77/100
-
ApplyManifestFile silently ignores malformed YAML manifestsForse già presa @jahnavigajjala-3 l’ha presa oggi. Apertabug needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
openeverest/openeverest#3357 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
xiufengsun/TokenTracker#781 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno