我有C#拉姆达LINQ查询如下:的LINQ(EF),其中用绳子逗号分隔条
public IQueryable<CtArticleDetail> GetArticleDetailsByTagNames(string tagNames)
{
return db.CtArticleTags.Where(m => tagNames.Contains(m.CtTag.Name)
&& m.CtArticleDetail.ExpirationDate > DateTime.Now
&& m.CtArticleDetail.ArticleStatusId == (int)ArticleStatus.Published)
.Select(m => m.CtArticleDetail).OrderBy(x => x.LiveDate).Distinct();
}
这将返回因为“包含”稍有不妥数据列表。该参数实际上是这种格式:EG(“AterSale,GeneralSale”)。结果列表包含其他销售类型文章.EG(“销售”或“进口销售”)。
reuslt列表应该是参数传递的精确列表。任何人都可以请教吗?
var mustContain = new[] {"A", "B");
var foos = new List<Foo>(){
new Foo1 {Tags = "A"},
new Foo1 {Tags = "B"},
new Foo2 {Tags = "A"},
new Foo2 {Tags = "C"}
};
我只需要Foo1如果mustcontain是A,B
你可以发布一些虚拟数据.. –