簡體   English   中英

拆分實體框架linq查詢會導致包括不起作用

[英]Splitting an Entity Framework linq query causes includes to not work

如果我這樣做:

var shipmentQuery = dataAccess.Shipments().Where(x => x.OriginId == originId)
    .Take(100)
    .Include(shipment => shipment.Boxes);

return shipmentQuery;

我的盒子數據包含在結果集中。 但是,如果我這樣做:

var shipmentQuery = dataAccess.Shipments().Where(x => x.OriginId == originId);

shipmentQuery
    .Take(100)
    .Include(shipment => shipment.Boxes);

然后,不包括框數據(每個結果框為空。)

如果分解查詢,包含是否應該不起作用?

而且,無論如何都可以將其分解? (我想添加一些條件where子句。)

(我正在使用連接到sql server 2012數據庫的Entity Framework 6.1.3。)

只需將include語句和第一條語句放在一起即可。 那時它實際上不會查詢數據庫,它只是一個查詢定義,因此您不必擔心會拉出額外的記錄。

像這樣:

var shipmentQuery = dataAccess.Shipments().Where(x => x.OriginId == originId)
    .Include(shipment => shipment.Boxes);

// Extra query conditions can be applied here

return shipmentQuery.Take(100);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM