我有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
你可以發佈一些虛擬數據.. –