【发布时间】:2021-09-15 06:53:10
【问题描述】:
我有三个表,joborder、joborder items 和 workorder。
joborder 是父表,joborderitem 是子表。
workorder 有一个 joborder item id 作为 joborder item 表的外键。
我需要在workorder 中不存在其joborderid 的joborderitems。 workorder 将基于jobordrritem 创建.. 所以请指导我如何获得这些项目?
模型类:
public JobOrder()
{
JobOrderGuid = Guid.NewGuid();
Weight = 0;
}
public Guid JobOrderGuid { get; set; }
public string JobOrderNumber { get; set; }
public int OrderStatusId { get; set; }
public bool IsDeleted { get; set; }
public int? UQCId { get; set; } // Future purpose
public decimal? Weight { get; set; } // Future purpose
public virtual IList<JobOrderItem> JobOrderItems { get; set; }
#region Custom properties
/// <summary>
/// Gets or sets the order status
/// </summary>
public OrderStatus OrderStatus
{
get => (OrderStatus)OrderStatusId;
set => OrderStatusId = (int)value;
}
#endregion
public class JobOrderItem : BaseEntity
{
public int JobOrderId { get; set; }
public int SNo { get; set; }
public int ProductId { get; set; }
public decimal OrderQuantity { get; set; }
public decimal ReceivedQuantity { get; set; }
public decimal? ItemWeight { get; set; }
public bool IsReceived { get; set; }
public string Details { get; set; }
public virtual JobOrder JobOrder { get; set; }
public virtual Product Product { get; set; }
}
public class WorkOrder : BaseEntity
{
public WorkOrder()
{
WorkOrderGuid = Guid.NewGuid();
}
public Guid WorkOrderGuid { get; set; }
public string WorkOrderNumber { get; set; }
public int JobOrderItemId { get; set; } // REFERENCE ID
public string Details { get; set; }
public DateTime WorkStartDate { get; set; }
public DateTime? WorkCompletedDate { get; set; }
public virtual JobOrderItem JobOrderItem { get; set; }
public virtual IList<WorkOrderStateInfo> WorkOrderStateInfo { get; set; }
public virtual IList<WorkOrderItem> WorkOrderItems { get; set; }
}
查询:
var result = _context.JobOrders
.Include(x => x.JobOrderItems) .....??
请指导我如何返回未在任何工作订单中使用的订单项列表 .. 提前致谢
【问题讨论】:
-
你是哪个EF版本(请加标签)。
-
格特·阿诺德 ..done
-
如果您无法升级到 EF-core 5,那么您需要一个解决方法,f/e stackoverflow.com/a/16801205/861716
-
@GertArnold,已过滤的 Include 与此问题无关。
-
@SvyatoslavDanyliv 不确定。这个问题不是 100% 清楚的。
标签: entity-framework linq .net-core lambda ef-core-3.1