using System.Collections.Generic;
public static void Main()
IEnumerable<Market> markets = new Market[] {
new Market { ID = 3, name = "Market3" },
new Market { ID = 4, name = "Market4" },
new Market { ID = 1, name = "Market1" },
new Market { ID = 2, name = "Market2" },
new Market { ID = 5, name = "Market5" },
new Market { ID = 6, name = "Market6" }
IEnumerable<Cell> cells = new Cell[] {
new Cell { ID = 3, name = "Cell3" },
new Cell { ID = 4, name = "Cell4" },
new Cell { ID = 1, name = "Cell1" },
new Cell { ID = 2, name = "Cell2" },
new Cell { ID = 5, name = "Cell5" },
new Cell { ID = 6, name = "Cell6" },
new Cell { ID = 7, name = "Cell7" },
new Cell { ID = 8, name = "Cell8" },
new Cell { ID = 9, name = "Cell9" },
new Cell { ID = 10, name = "Cell10" }
IEnumerable<MarketPOP> marketPOP = new MarketPOP[] {
new MarketPOP { marketID = 3, cellID = 1 },
new MarketPOP { marketID = 4, cellID = 2 },
var allRecords = from m in markets
var recordsToPopulate = allRecords.Select(a=>new MarketPOP(){ marketID= a.m.ID, cellID = a.c.ID}).ExceptBy<MarketPOP>(marketPOP, (MarketPOP m)=> m.marketID.ToString()+m.cellID.ToString());
foreach (var item in recordsToPopulate)
Console.WriteLine("{0} {1}",
public int ID { get; set; }
public string name { get; set; }
public int ID { get; set; }
public string name { get; set; }
public int marketID { get; set; }
public int cellID { get; set; }