我希望能夠幫助我,我是linq中的新手, 我有兩個表名tblcart和tblorderdetail: 我只是在這兩個表中顯示一些字段以顯示我的問題:在特殊情況下在linq中加入兩張表
tblCart: ID, CartID, 條碼,
和tblOrderDetail: ID, CartID, IsCompleted 條碼
當有人保存的訂單,他證實了他的請求前,一排臨時進入tblCart, 那麼如果他或她證實了他的請求的另一個行將被插入到tblOrderDetail,
現在我想不顯示插入到tblOrderDetailed中的行(僅顯示臨時存在於tblCart中的行),
換句話說,如果tblCart中有cartid = 1的行,並且同時存在與CartID = 1相同的行在tblOrderDetail中,那麼我不想要那個行。
總而言之,只有tblOrderDetail中沒有的行,並且要實現這一點的字段是CartID, 我應該提到,我使Iscompleted = true,並且可以排除我們不想要的行,
我這樣做:
var cartItems = context.tblCarts
.Join(context.tblSiteOrderDetails,
w => w.CartID,
orderDetail => orderDetail.cartID,
(w,orderDetail) => new{w,orderDetail})
.Where(a=>a.orderDetail.cartID !=a.w.CartID)
.ToList()
但是它不工作。
一個例子:
tblCart:
ID=1
CartID=1213
Barcode=4567
ID=2
CartID=1214
Barcode=4567
ID=3
CartID=1215
Barcode=6576
tblOrderDetail:
ID=2
CartID=1213
Barcode=4567
IsCompleted=true
這些數據應該只是顯示在tblCart最後兩行,我的意思是
ID=2
CartID=1214
Barcode=4567
ID=3
CartID=1215
Barcode=6576
你能爲每個表提供一些示例行,然後使用這些行查詢輸出示例嗎? – pquest
@pquest yup ofcurse – sariiia
請將購物車的型號添加到您的問題 - 具體而言,您是否有購物車上的導航屬性以引用詳細信息? –