【问题标题】:How to process data from 2 tables in database?如何处理数据库中2个表的数据?
【发布时间】:2013-04-28 18:04:06
【问题描述】:

我真的很困惑。 我关注了这个tutorial

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

客户:客户 ID、客户名称

Order:OrderID,CustomerID,OrderDate

我想要结果:

客户 ID、客户名称、订单日期。

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

【问题讨论】:

  • 我认为您需要将这两个表 customerid 加入到 id
  • 在你的 qeuery 中使用 join 并使用 sqldataadapter 填充数据集
  • 您可以使用联接,然后为客户获取整个订单集然后您可以将该数据绑定到IEnumerable<CustomerData>,其中CustomerData 将是具有@987654324 的聚合实体@ 为客户,以便您可以在网格或任何 UI 中使用它们。 Jure 在我输入 cmets 时将此作为答案发布,您可以投票并标记他的答案
  • 请问?我不知道如何通过查询 LinQ 获取数据 as var query = (from c in db.class from v in db.clscrs from n in db.course where c.ClassTitel=="yourinput" && c.classcode = v.classcode && v.coursecode = n.coursecode 选择 n.CourseName).ToList();
  • 请问?我不知道如何通过查询 LinQ 获取数据 as var query = (from c in db.customer from o in db.Order where c.id="001" && c.id = o.id select c.ID ,c.name,O.orderdate).ToList();以及如何让我的应用程序运行此查询,然后我不知道将其存储到 IEnumerable(是 T 客户还是订单???)。

标签: c# linq silverlight data-binding ria


【解决方案1】:

您可以创建一个新类来表示您需要从服务方法获得的结果。 比方说:

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;
}

【讨论】:

  • 对不起!我想获取所有数据,然后如何根据 ID 编写?对不起,我是新手。
  • select c.customerID,c.CustomerName,o.orderdate from customer c,order o where c. customerID=o.oderID 你能帮我翻译成linq吗???
  • @TM500 我更新了答案,我认为这就是您要查找的 LINQ 查询
猜你喜欢
  • 2015-02-14
  • 1970-01-01
  • 2011-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-06
  • 1970-01-01
相关资源
最近更新 更多