2013-05-04 181 views
-1

我真的很困惑。 我跟着这tutorial如何处理来自数据库中2个表的数据?

我知道如何添加,但现在我不知道如何添加方法,它从2表中获取数据不是从表中。 因为我想要的结果有2个表的属性。例如 答:

客户:的customerID,客户名称

订单:订单ID,客户ID,订购日期

我想结果是:

客户ID,客户名称,订购日期。

但我很困惑,因为客户和订单的类是不同的。 我不知道我应该返回哪种类型的结果,以便我可以绑定到我的gridview。 如果是客户类型,OrderDate不具有。订单也一样。 有人请给我小费。 提前致谢。

+0

我认为你需要加入这个两代表客户ID来标识 – 2013-05-04 12:19:25

+0

使用您的qeuery加入并使用SqlDataAdapter的填补数据集 – 2013-05-04 12:21:28

+0

您可以使用连接,然后获取客户的整套订单。然后,您可以将该数据绑定到“IEnumerable ”,其中'CustomerData'将是一个具有'IEnumerable '对于客户,您可以在网格或任何用户界面中使用它们。 Jure张贴作为回答,当我作为评论键入,你可以upvote和标记他的回答 – Saravanan 2013-05-04 12:25:38

回答

0

您可以创建一个代表服务方法所需结果的新类。 比方说:

public class MyCustomerResult 
{ 
    public int  CustomerID{get;set;} 
    public string CustomerName{get;set;} 
    public DateTime? OrderDate{get;set;} 
} 

,然后创建一个返回新类的方法

public IQueryable<MyCustomerResult> GetMyCustomerByLastName(string startingLastNameLetter) 
{ 
    //you should modify query to return data that you need, this is only example 
    var q = from customer in this.ObjectContext.Customers 
      from order in this.ObjectContext.Orders 
      where c.CustomerID = o.CustomerID 
      select new MyCustomerResult 
      { 
       CustomerID=c.CustomerID, 
       CustomerName=c.CustomerName, 
       OrderDate=o.OrderDate 
      } 

    return q; 
} 
+0

不好意思!我想获得所有的数据,然后如何写基地的ID?对不起,我是新手。 – TM500 2013-05-05 03:09:38

+0

从客户c选择c.customerID,c.CustomerName,o.orderdate,order o其中c。 customerID = o.oderID可以请你帮我翻译成LINQ? – TM500 2013-05-05 03:18:05

+0

@ TM500我更新了答案,我认为你正在寻找的是LINQ查询 – jure 2013-05-05 12:43:09

相关问题