Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Id value not retrieved when multi-column PK

Aperta
#568 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
fsharp, sql
Ambito
database

Direzione di ricerca

Riprodurre l’esempio F# con lo schema SillyTable su SQL Server, quindi tracciare il percorso di inserimento e recupero della chiave generata usato da SubmitUpdates() per le chiavi primarie composte da più colonne. Il lavoro è completato quando row.Id contiene il valore identity generato dal database immediatamente dopo SubmitUpdates(), corrispondente al valore riletto dalla tabella.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug
Description

When a record is inserted in a table that has a multi-column primary key, the Identity value generated is not retrieved.

Repro steps
  1. Create a silly table:
create table SillyTable (TenantId int not null, Id int identity not null)
alter table SillyTable add constraint PK_SillyTable primary key (TenantId, Id)
  1. Insert a row and get the value for Id
let testError () =
        let ctx = sql.GetDataContext()
        let row = ctx.Dbo.SillyTable.Create()
        row.TenantId <- 1
        ctx.SubmitUpdates()
        let id = row.Id //always 0
        let readRow = ctx.Dbo.SillyTable |> Seq.last
        let readId = readRow.Id //return just inserted value (identity)
        (id, readId) //readId has the expected value
Expected behavior

After SubmitUpdates(), the row.Id value should be updated with the value generated by the DB.

Actual behavior

The Id column keeps its default value (0 in this case) after SubmitUpdates()

Known workarounds

None

Related information

Operating System: Windows 10 Pro
Visual Studio: 2017 15.8.1
FSharp.Core 4.5.2
SqlProvider 1.1.48
DB: SqlLocalDB v13

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di fsprojects/SQLProvider

Tutte le issue di fsprojects/SQLProvider

Issue simili

Altre issue su Databases

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.