如何使用LINQ(实体)从多个表中选择数据

时间:2011-09-22 13:26:47

标签: c# linq entity-framework

我有两个表和相应的LINQ实体

  • 产品
  • 顺序

订单在数据库中有一个fk_product_id,链接到表产品中的pk_product_id

如何编写一个从两个表中返回数据的方法,以便我可以将它连接到转发器或gridview?

我找到了人们正在编写联接的例子,但我想知道这是否真的有必要。

3 个答案:

答案 0 :(得分:2)

使用LINQ,您可以执行以下操作:

var results = from o in Order
              select new
              {
                  order = o,
                  product = o.Product
              };

然后将其作为DataSource提供给转发器,然后在ItemTemplate中访问它或者像这样:

<asp:Label Text='<%# Eval("product.Name") %>' />

答案 1 :(得分:1)

您可以将所需的字段从2个不同的对象展平为新的“平面”匿名类型。 See here

答案 2 :(得分:0)

使用db.orders.include(“product”)。all(); 虽然你已经在订单类中定义了产品实体......