【发布时间】:2020-04-21 20:31:30
【问题描述】:
我有一个Users 和一个Shipments 表。 Shipments 表有一个属性Received。我想编写代码来获取所有Users 的所有货物都已通过 linq 收到 (received == true)。
Users表
public Guid Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public bool NeedsFilament { get; set; }
public ICollection<Shipment> Shipments { get; set; }
Shipments表
public Guid Id { get; set; }
public int Quantity { get; set; }
public DateTime DateShipped { get; set; }
public bool Recieved { get; set; }
public Guid UserId { get; set; }
public User User { get; set; }
到目前为止,我在一个 SQL 查询中所做的事情没有计算 Shipments 中的 Received 属性,但只是得到了不同的(这是错误的)
SELECT DISTINCT
[FirstName]
,[LastName]
,[Username]
,[Address]
,[LatestShippedDate]
,[PrinterActive]
,[ProductionDate]
,[ShippedQuantity]
,[Email]
,[PhoneNumber]
,[NeedsFilament]
,[FilamentTrackingNumber]
,[SentFilamentDate]
,[LatestShippedQuantity]
FROM
[dbo].[Users]
LEFT JOIN
Shipments ON Shipments.UserId = Users.Id
WHERE
Shipments.Recieved = 1
AND Users.NeedsFilament = 1
【问题讨论】:
-
谢谢@Sajid。不是真的,因为我想查看是否已收到任何货物,同时选择用户表中的所有内容
标签: linq lambda count linq-to-sql