Id value not retrieved when multi-column PK
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 45/100
Hướng nghiên cứu
Tái hiện ví dụ F# với schema SillyTable trên SQL Server, sau đó lần theo đường đi của thao tác chèn và truy xuất khóa được tạo mà SubmitUpdates() sử dụng cho các khóa chính gồm nhiều cột. Được xem là hoàn tất khi row.Id chứa giá trị identity do cơ sở dữ liệu tạo ra ngay sau SubmitUpdates(), khớp với giá trị đọc lại từ bảng.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- F#
- Star
- 627
- Fork
- 147
- Merge trung bình
- 2 giờ 2 phút
- Pull request đã merge (30 ngày)
- 1
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của fsprojects/SQLProvider
-
enhancement
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
fsprojects/SQLProvider#872 · 2 bình luận ·
-
Repo Assist? Đang mởenhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 10/100
fsprojects/SQLProvider#870 · 1 bình luận ·
-
postgresql
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 58/100
fsprojects/SQLProvider#869 · 2 bình luận ·
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 42/100
fsprojects/SQLProvider#868 · 2 bình luận ·
-
sql server
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
fsprojects/SQLProvider#851 · 1 bình luận ·
Tất cả issue của fsprojects/SQLProvider
Issue tương tự
-
Add: New Channel Pop! Đang mởchannels:add check:passed
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
confluentinc/dbt-confluent#160 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 75/100
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
AstrBotDevs/AstrBot#10205 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100