Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Id value not retrieved when multi-column PK

Offen
#568 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Veraltet
Tech-Stack
fsharp, sql
Bereich
database

Rechercherichtung

Reproduziere das F#-Beispiel mit dem SillyTable-Schema gegen SQL Server und verfolge anschließend den von SubmitUpdates() verwendeten Pfad zum Einfügen und Abrufen des generierten Schlüssels für Primärschlüssel mit mehreren Spalten. Als abgeschlossen gilt die Aufgabe, wenn row.Id unmittelbar nach SubmitUpdates() den von der Datenbank generierten Identity-Wert enthält, der dem aus der Tabelle zurückgelesenen Wert entspricht.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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

Vorherrschende Sprache
F#
Sterne
627
Forks
147
Ø Merge
2 Std. 2 Min.
Gemergte PRs (30 T.)
1

Entwicklungsumgebung

In Codespaces öffnen

Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.

  • Kein Dockerfile und keine Docker-Compose-Datei
  • Hat eine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus fsprojects/SQLProvider

Alle Issues in fsprojects/SQLProvider

Ähnliche Issues

Weitere Issues zu Databases

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.