我有代碼,它作業正常,但現在想將“糖”更改為 shopResources.Product :列出 shopResourceProduct> 并通過 id 找到它。我該怎么做?之后它應該回傳相同的 ProductList
var usedProduct = await this.context.Clients
.Where(r => r.AllowedProduct.Any(u => u.Product.Contains("sugar")))
.Select(r => r)
.ToListAsync(ct);
我查看了其他查詢,但我可以找到與 Linq 的密切比較。任何想法或任何您可以指向我的地方都會有很大幫助。
uj5u.com熱心網友回復:
如果您說您知道如何在 N 個產品串列中查找單個產品,但您現在想在 N 個產品串列中查找 2 個產品,則一般模式是:
var iWant = new T[] { some, things, here };
var result = listOfNThings.Where(thing => iWant.Contains(thing));
與您通常認為的“在事物集合中尋找事物”相比,這通常是“顛倒的”,它看起來更像是:
var result = listOfNThings.Where(thing => thing.Something == blah);
“直截了當”的方式考慮thing.Something is equal to .... 該“倒掛路認為listIWant.Contains(thing.Something),因為沒有一個thing.Something.IsContainedWithin(listIWant)-這是一個有點從SQL出發的,我們做的發言權WHERE something IN (list,i,want)
假設Client.AllowedProduct是一家集(因此應該被叫做AllowedProducts)映射一個物體的ClientId和ProductId,你可以要求其客戶收集allowedproduct具有其中任意xx.ProductId是Contain你想要的清單ED:
var iWant = new[] { 1, 6, 9, 22 }; //list of 4 productids I want
var productsWanted = await this.context.Clients
.Where(c => c.AllowedProduct.Any(ap => iWant.Contains(ap.ProductId)))
.ToListAsync(ct);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/369976.html
上一篇:如何按降序對串列進行排序
