MJoin with inner LeftJoin, does not put LeftJoin at end.
还没有人认领这个 Issue。
评估
调研方向
从 MJoin 和 LeftJoin 入口开始,跟踪它们的 join 如何组装成 issue 中所示的生成 SQL。使用一个等效示例验证顺序:inner joins 应在 LeftJoin 之前生成,并且生成的 SQL 应能成功执行。
由索引模型根据 Issue 内容生成。
描述
RE: https://datatables.net/forums/discussion/78882/editor-net-mjoin-leftjoin#latest
I think this is a legit bug.
// ...
.MJoin(new MJoin("InventoryServerWarranty")
.Set(false)
.Link("InventoryServer.Id", "InventoryServerInventoryServerWarrantyLine.InventoryServerId")
.Link("InventoryServerWarranty.Id", "InventoryServerInventoryServerWarrantyLine.InventoryServerWarrantyId")
.Order("InventoryServerWarranty.CertificateNumber")
.Model<Warranty>()
.LeftJoin("InventoryServerWarrantyProvider", "InventoryServerWarrantyProvider.Id", "=", "InventoryServerWarranty.InventoryServerWarrantyProviderId")
)
// ...
The Editor generated SQL looks like so:
SELECT
DISTINCT [InventoryServer].[Id] as 'dteditor_pkey',
[InventoryServerWarranty].[CertificateNumber] as 'CertificateNumber',
[InventoryServerWarranty].[RegistrationID] as 'RegistrationID',
[InventoryServerWarranty].[Notes] as 'Notes',
[InventoryServerWarranty].[DeliveryDate] as 'DeliveryDate',
[InventoryServerWarranty].[ExpirationDate] as 'ExpirationDate',
[InventoryServerWarranty].[InventoryServerWarrantyProviderId] as 'InventoryServerWarrantyProviderId',
[InventoryServerWarranty].[RetiredIncidentNumber] as 'RetiredIncidentNumber',
[InventoryServerWarranty].[RetiredOn] as 'RetiredOn'
FROM
[InventoryServer]
LEFT JOIN [InventoryServerWarrantyProvider] ON [InventoryServerWarrantyProvider].[Id] = [InventoryServerWarranty].[InventoryServerWarrantyProviderId]
JOIN [InventoryServerInventoryServerWarrantyLine] ON [InventoryServer].[Id] = [InventoryServerInventoryServerWarrantyLine].[InventoryServerId]
JOIN [InventoryServerWarranty] ON [InventoryServerWarranty].[Id] = [InventoryServerInventoryServerWarrantyLine].[InventoryServerWarrantyId]
WHERE
[InventoryServer].[Id] IN (2)
ORDER BY
[InventoryServerWarranty].[CertificateNumber]
Note how that left join is FIRST. That will not work. Only by pulling that down to the be the final join, does the code work.
- 主要语言
- C#
- 星标
- 19
- 派生
- 11
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
DataTables/NET 的其他 Issue
-
难度 4/5 3-5 天 新手友好度 30/100
DataTables/NET#27 · 1 条评论 ·
-
Async methods? 未关闭
难度 5/5 一周以上 新手友好度 25/100
DataTables/NET#25 · 1 条评论 ·
-
难度 3/5 1-2 天 新手友好度 45/100
DataTables/NET#24 ·
-
难度 4/5 3-5 天 新手友好度 35/100
DataTables/NET#18 · 2 条评论 ·
-
难度 3/5 1-2 天 新手友好度 45/100
DataTables/NET#17 ·
相似的 Issue
-
bug
难度 1/5 1 小时以内 新手友好度 90/100
-
Type: enhancement
难度 2/5 1-3 小时 新手友好度 65/100
apache/arrow-adbc#4809 ·
-
type/automation type/tech-debt
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 65/100
microsoft/vscode-azurefunctions#5197 · 1 条评论 ·
-
难度 1/5 1 小时以内 新手友好度 85/100
microsoft/microsoft-ui-reactor#1274 ·