我有两个清单:
public class KeywordAdCategory
{
[Key]
[Column("Ad_Id", Order = 1)]
public int Ad_Id { get; set; }
[Key]
[Column("Category_Id", Order = 2)]
public int Category_Id { get; set; }
[Key]
[Column("Keyword_Id", Order = 0)]
public int Keyword_Id { get; set; }
}
public IList<int> KeywordIds { get; set;}
价值观:
KeywordIds = { 3510, 5686 }
KeywordAdCategory =
5291 | 1 | 3510
5308 | 5 | 3510
5310 | 5 | 3510
5312 | 5 | 3510
5308 | 5 | 5686
我只需要从 KeywordAdCategory 中提取与 Keyword_ID 3510 和 5686 匹配的 Ad_Id,所以我应该只得到 5308。
到目前为止,我有:
var matchingKac = from kac in keywordAdCategoryQuery
where keywordIds.Distinct().Contains(kac.Keyword_Id)
select kac.Ad_Id;
但它会返回 KeywordAdCategory 中的所有记录。
有什么想法吗?
谢谢。