Created
January 26, 2012 14:43
-
-
Save tawman/1683078 to your computer and use it in GitHub Desktop.
Stackoverflow Question: Select list of x via list of y
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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