我在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