Skip to content

Instantly share code, notes, and snippets.

@tawman
Created January 26, 2012 14:43
Show Gist options
  • Save tawman/1683078 to your computer and use it in GitHub Desktop.
Save tawman/1683078 to your computer and use it in GitHub Desktop.
Stackoverflow Question: Select list of x via list of y
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
namespace StackOverflowQuestionsTests
{
[TestFixture]
class LinqExamples
{
/// <summary>
/// http://stackoverflow.com/questions/8967068/select-list-of-x-via-list-of-y/8967373#8967373
/// </summary>
[Test]
public void select_list_x_via_list_of_y()
{
var Template = new[]
{
new { TemplateId = 1, Name = "Homepage" },
new { TemplateId = 2, Name = "Generic Landing Page" }
};
var Area = new[]
{
new { AreaId = 1, Name = "Top" },
new { AreaId = 2, Name = "Middle" },
new { AreaId = 3, Name = "Bottom" }
};
var TemplateArea = new[]
{
new {TemplateAreaId = 1, TemplateId = 1, AreaId = 1},
new {TemplateAreaId = 2, TemplateId = 1, AreaId = 2},
new {TemplateAreaId = 3, TemplateId = 1, AreaId = 3},
new {TemplateAreaId = 4, TemplateId = 2, AreaId = 1},
new {TemplateAreaId = 5, TemplateId = 2, AreaId = 2}
};
int templateId = 2;
var templateAreas = TemplateArea.Where(ta => ta.TemplateId == templateId).ToList();
var areas = Area.Join(templateAreas, a => a.AreaId, t => t.AreaId, (a, t) => a);
areas.Select(x=>x.AreaId + " - " + x.Name).ToList().ForEach(Console.WriteLine);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment