【发布时间】:2020-01-14 23:27:14
【问题描述】:
我有以下产品表:
Id
ProductName
ProductType
IsActive
SecondaryId
所以记录看起来像:
ID: 1
ProductName: product1
IsActive: true
SecondaryId: 333
CreatedOn: 1/14/2020
Id: 2
ProductName: product2
IsActive: true
SecondaryId: 333
CreatedOn: 1/13/2020
Id: 3
ProductName: product3
IsActive: true
SecondaryId: 221
CreatedOn: 1/13/2020
然后使用以下查询来检索它们:
var products = _context.Product
.Where(x.IsActive)
.OrderBy(x => x.CreatedOn)
.ToDTOs();
SecondaryId 是一个字段,用于在创建新产品时克隆产品的某些部分。所以用户可以进来,选择一个现有的产品,然后它继承那个secondaryID。然后,我们使用 SecondaryID 来跟踪产品的更新。从技术上讲,我们应该有另一张桌子来做这件事,但做出决定时我不在。
我要做的是编写选择查询,以便它将返回数据库中的所有产品,但对于具有现有 SecondaryID 的产品,只返回最新的产品。所以说存在四个具有相同 SecondaryID 的产品,我只希望列表中包含最近的一个。所以在我的例子中
LINQ 较新,但卡住了。
【问题讨论】:
-
能否请您添加一些数据和预期结果