我在linq查詢中遇到了一些問題。 我有以下三張表。.net linq查詢加入
項目{項目Id,名稱}
桶{BucketId,名稱}
ItemsBuckets {ID,BucketId,項目Id}
項目可以在多個類別中存在的,這就是爲什麼我有ItemsBuckets表。 我想查找具有名稱包含bucketname的特定存儲桶的所有項目。
System.Linq.IQueryable<Item> query = context.Items.Include("ItemsBuckets")
.Include("ItemsBuckets.Buckets");
query = query.Where(n => n.ItemsBuckets.Buckets.Name.Contains(bucketname));
ObservableCollection<Item> items = new ObservableCollection<Item>(query.ToList());
我的where子句不起作用。我收到以下錯誤:
Error CS1061 'ICollection<ItemsBuckets>' does not contain a definition for
'Buckets' and no extension method 'Buckets' accepting a first argument of
type ICollection<ItemsBuckets> could be found (are you missing a using
directive or an assembly reference?)
我找不出辦法解決這個問題。有任何想法嗎?
哪裏'query'從何而來?你爲什麼分配兩次'q'? – tinstaafl
對不起,這是一個錯字。我編輯了代碼以顯示查詢來自何處。在我的實際代碼中,我有幾個query = query.Where語句。 – kurgaan
你看到了什麼錯誤信息,或者有什麼不符合你的期望? – awh112