Id value not retrieved when multi-column PK
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 45/100
Direção de pesquisa
Reproduza o exemplo de F# com o esquema SillyTable no SQL Server e, em seguida, rastreie o caminho de inserção e recuperação da chave gerada usado por SubmitUpdates() para chaves primárias com várias colunas. Considera-se concluído quando row.Id contém o valor identity gerado pelo banco de dados imediatamente após SubmitUpdates(), correspondendo ao valor lido de volta da tabela.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- 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)
- 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
- Linguagem predominante
- F#
- Estrelas
- 627
- Forks
- 148
- Merge médio
- 2h 2min
- PRs com merge (30d)
- 1
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de fsprojects/SQLProvider
-
enhancement
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
fsprojects/SQLProvider#872 · 2 comentários ·
-
Repo Assist?Abertaenhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 10/100
fsprojects/SQLProvider#870 · 1 comentário ·
-
postgresql
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 58/100
fsprojects/SQLProvider#869 · 2 comentários ·
-
documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 42/100
fsprojects/SQLProvider#868 · 2 comentários ·
-
sql server
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
fsprojects/SQLProvider#851 · 1 comentário ·
Todas as issues de fsprojects/SQLProvider
Issues semelhantes
-
area:connection bug effort:S priority:P2
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Arekkazu/sgpmp-backend#549 ·
Mantenedores costumam responder em até 1 dia
-
priority: medium tech-debt
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
LeeAdcock/robocodeJs.com#411 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
good first issue refactor
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 80/100
pedrorchagas/blog-api#18 ·