2014-02-22 1 views
0
나는 C#을 함께 asp.net 4.0에서 뉴스 사이트를 개발하고

, 엔티티 프레임 워크 5 &의 SQLServer 2008디스플레이 뉴스

내가 다른 뉴스

에서 일치하는 태그를 기준으로 관련 뉴스를 보여 뉴스를 읽은 후 다른 뉴스가 하나의 예를 들어 태그 "태양이

var relatedNews = (from c in ctx.Articles where tags.Contains(c.Tags) select c).Take(10); 

경우 태양, 달, 별 :

var article = (from c in ctx.Articles where c.ArticleID == "10" select c).SingleOrDefault(); 
var tags = new List<string>(); 
string[] words = article.Tags.Split(','); 
foreach (string word in words) 
{ 
    if (word != "") { tags.Add(word.Trim()); } 
} 

현재 뉴스는 다음과 같은 태그가 "그것은 잘 작동하지만이 경우"태양, 은하 "또는 여러 개의 태그를 내가 완전히 확실하지 않다,하지만 문제는 생각

답변

0

작동하지 않습니다

where tags.Contains(c.Tags) 

이제 기사 하나 이상의 태그 (sun 또는 galaxy) 대신 제공된 모든 태그 (sun과 galaxy)가 있어야합니다. 그게 정말로 당신이 원하는 것이거나 내가 당신의 질문/코드를 오해 한 것입니까? 이 같은이어야한다 :

이 같은
where c.Any(x => tags.Contains(x)) 

뭔가 중 하나 태그 중 하나 또는 둘 모두를이 항목을 선택해야합니다. 또한 :

linq where list contains any in list

관련 문제