Nhibernate 和查询示例

Nhibernate and Query example

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>();

这一个return图中显示的新对象 [但我想以客户身份访问此对象并订购如何获取数据作为'customerObject.propertyName和order.propertyName”而不是使用字符串获取数组。我可以获取包含两个对象的数据列表吗客户和order 对象,以便我可以使用该对象访问这些数据] 它 returns aa[0] = {name=" sam ", product=" Book"} 但我想要 aa[0] = {Customer.Name , Order.product } [1]

您可以尝试 return 映射的对象。考虑到你有你的映射实体,尝试这样的事情:

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 其中有您的实体。