linq 其中 -> 与长整型列表进行比较



我有以下linq查询

var q = from e in dbTov.assignedTaxonomyToContents
where e.taxonomy_id == lsTaxID[0]
|| e.taxonomy_id == lsTaxID[1]
|| e.taxonomy_id == lsTaxID[2]
select e;

但是,lsTaxID可以有更多的项目在它(我不知道多少,它是动态的每个页面请求)。

是否有一种直观的方法来实现这一点?

谢谢

Use Contains:

var q = from e in dbTov.assignedTaxonomyToContents
where lsTaxID.Contains(e.taxonomy_id)
select e;

Try

where lsTaxId.Contains(e.taxonomy_id)

假设分类法ID必须匹配lsTaxID数组中的任何项:

dbTov.assignedTaxonomyToContents
  .Where(e => lsTaxID.Any(id => id == e.taxonomy_id))

除非lsTaxID[..]]是一样的,你的示例代码将永远不会选择任何东西。试试这个,

var q = from e in dbTov.assignedTaxonomyToContents
where lsTaxID.Contains(e.taxonomy_id)
select e;

试试这个:

var q = 
    from e 
    in dbTov.assignedTaxonomyToContents 
    where lsTaxID.Contains(e.taxonomy_id);

最新更新