Dapper.Contrib INSERT (list) needs the table name to be Plural with an "s" at the end
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Bắt đầu tại Dapper.Contrib/SqlMapperExtensions.cs dòng 384, được tham chiếu trong ngăn xếp cuộc gọi cho Insert, và tái hiện thao tác chèn danh sách với một Ping POCO và một bảng có tên Ping. So sánh tên bảng được tạo với các ví dụ về thực thể đơn và chèn nhiều thực thể, sau đó xác minh hành vi mong đợi đối với tên bảng ở dạng số ít và số nhiều.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Hello guys!
Thanks for this project, it's helping me a lot.
I found what I think to be a bug, please correct me if I am wrong.
Using the example for "Insert Many" from this link :
`using (var connection = My.ConnectionFactory())
{
connection.Open();
var list = new List<InvoiceContrib>
{
new InvoiceContrib {Kind = InvoiceKind.WebInvoice, Code = "Insert_Many_1"},
new InvoiceContrib {Kind = InvoiceKind.WebInvoice, Code = "Insert_Many_2"},
new InvoiceContrib {Kind = InvoiceKind.StoreInvoice, Code = "Insert_Many_3"}
};
var identity = connection.Insert(list);
}`
I noticed that, the table name in this case will need to be InvoiceContribs - otherwise an error as below will be thrown:
System.Data.SqlClient.SqlException
HResult=0x80131904
Message=Invalid object name 'Pings'.
Source=Core .Net SqlClient Data Provider
StackTrace:
For instance. My POCO is called "Ping" - and my table name was "Ping" - but the error said Invalid object name 'Pings'. As soon as I renamed the table to Pings it worked.
Call Stack:
StackTrace:
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, TaskCompletionSource1 completion, Int32 timeout, Task& task, Boolean asyncWrite, String method) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource1 completion, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite, String methodName)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Dapper.SqlMapper.ExecuteImpl(IDbConnection cnn, CommandDefinition& command) in //Dapper/SqlMapper.cs:line 554
at Dapper.SqlMapper.Execute(IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Nullable1 commandTimeout, Nullable1 commandType) in //Dapper/SqlMapper.cs:line 443
at Dapper.Contrib.Extensions.SqlMapperExtensions.Insert[T](IDbConnection connection, T entityToInsert, IDbTransaction transaction, Nullable`1 commandTimeout) in /_/Dapper.Contrib/SqlMapperExtensions.cs:line 384
Can anyone please confirm this issue?
Thanks!
Alex
- Ngôn ngữ chính
- C#
- Star
- 293
- Fork
- 108
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
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 DapperLib/Dapper.Contrib
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 75/100
DapperLib/Dapper.Contrib#22 · 2 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 42/100
DapperLib/Dapper.Contrib#174 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 45/100
DapperLib/Dapper.Contrib#173 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 10/100
DapperLib/Dapper.Contrib#172 · 1 bình luận · 4 reaction ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 48/100
DapperLib/Dapper.Contrib#169 ·
Tất cả issue của DapperLib/Dapper.Contrib
Issue tương tự
-
[Simple] NavigationBar primary commands do not render AppBarButton.Content when it is a UIElementĐang mởcontrol/navigationbar kind/bug triage/untriaged
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100
unoplatform/uno.toolkit.ui#1652 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
microsoft/copilot-camp#1053 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug effort:S P3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
nightscout/nocturne#1861 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
agentic-workflows area/Docs partner/agentic-workflows
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
microsoft/fluentui-blazor#5364 ·
Maintainer thường phản hồi trong vòng 1 ngày