Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Here is one way to "rewrite" your SQL query in LINQ:</p> <pre><code>class Article { public int ArticleId; public string ArticleName; // Other fields... } class ArticleComparer : IEqualityComparer&lt;Article&gt; { public bool Equals(Article x, Article y) { return x.ArticleId == y.ArticleId &amp;&amp; x.ArticleName == y.ArticleName; } public int GetHashCode(Article obj) { return obj.ArticleId.GetHashCode(); } } class ArticlesTag { public int TagId; public int ArticleId; // Other fields... } class Program { static void Main(string[] args) { // Test data: var articles = new[] { new Article { ArticleId = 1, ArticleName = "Article A" }, new Article { ArticleId = 2, ArticleName = "Article B" }, new Article { ArticleId = 3, ArticleName = "Article C" } }; var article_tags = new[] { new ArticlesTag { TagId = 1, ArticleId = 1 }, new ArticlesTag { TagId = 2, ArticleId = 1 }, new ArticlesTag { TagId = 3, ArticleId = 1 }, new ArticlesTag { TagId = 4, ArticleId = 2 }, new ArticlesTag { TagId = 5, ArticleId = 2 }, new ArticlesTag { TagId = 6, ArticleId = 3 }, new ArticlesTag { TagId = 7, ArticleId = 3 } }; var tag_ids = new HashSet&lt;int&gt;(new[] { 2, 3, 6 }); // JOIN "query": var q = ( from article in articles join article_tag in article_tags on article.ArticleId equals article_tag.ArticleId where tag_ids.Contains(article_tag.TagId) select article ).Distinct(new ArticleComparer()); foreach (var article in q) Console.WriteLine( string.Format( "ArticleId = {0}\tArticleName = {1}", article.ArticleId, article.ArticleName ) ); } } </code></pre> <p>This prints:</p> <pre><code>ArticleId = 1 ArticleName = Article A ArticleId = 3 ArticleName = Article C </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload