2016-03-01 29 views
0
class Customer 
{ 
    public int ID { get; set; } 
    public string Name { get; set; } 
} 

class Order 
{ 
    public int ID { get; set; } 
    public string Product { get; set; } 
} 

var customers = new Customer[] 
{ 
    new Customer{ID = 5, Name = "Sam"}, 
    new Customer{ID = 6, Name = "Dave"}, 
    new Customer{ID = 7, Name = "Julia"}, 
    new Customer{ID = 8, Name = "Sue"} 
}; 

var orders = new Order[] 
{ 
    new Order{ID = 5, Product = "Book"}, 
    new Order{ID = 6, Product = "Game"}, 
    new Order{ID = 7, Product = "Computer"}, 
    new Order{ID = 8, Product = "Shirt"} 
}; 

IEnumerable<Object> query = 
    from c in customers 
    join o in orders on c.ID equals o.ID 
    select new { c.Name, o.Product }; 
IList<Object> AA = query.ToList<Object>(); 

這一個返回新對象時顯示爲圖片 [但我想訪問該對象爲客戶和訂單我怎樣才能得到的數據爲「customerObject.propertyName和order.propertyName」代替獲得與字符串數組。我能得到的數據列表有兩個對象,如客戶和訂單對象,這樣我就可以使用該對象] 它returns aa[0] = {name=" sam ", product=" Book"}訪問這些數據,但我想是這樣aa[0] = {Customer.Name , Order.product } [1]NHibernate和查詢例如

+0

它返回aa [0] = {name =「sam」,product =「Book」} 但我想要類似aa [0] = {Customer.Name,Order.product} –

+0

您可以編輯原始問題。請在那裏提供更多信息,而不是發表評論。 – Rook

+0

你的問題很難閱讀,請重寫。否則,它可能永遠不會對其他人有用,因爲它缺少了stackoverflow的用途。 –

回答

1

你可以嘗試返回映射的對象。考慮到你有你的映射實體,請嘗試如下所示:

var result = (from c in customers 
      join o in orders on c.ID equals o.ID 
      select new{ Customer = c, Product = o.Product }) 
      .ToList(); 

然後你就可以訪問你result對象,你必須在Customer財產和Product其中有你的實體匿名對象的集合。

+0

非常感謝你,這是工作完美的一件事情,只有我想改變的是,o.product刪除,並寫下o只 –