C# 将LINQ MIN()函数与联接一起使用
我试图获得每个客户根据时间戳下的第一个订单 下面是一些未编译的伪代码:C# 将LINQ MIN()函数与联接一起使用,c#,linq,C#,Linq,我试图获得每个客户根据时间戳下的第一个订单 下面是一些未编译的伪代码: var minOrders = (from Orders in DataSet.Orders select Orders.OrderTimestamp).Min() join Customers in DataSet.Customers on Orders.CustomerId equals Customers.CustomerId select new
var minOrders = (from Orders in DataSet.Orders select Orders.OrderTimestamp).Min()
join Customers in DataSet.Customers on Orders.CustomerId equals Customers.CustomerId
select new
{
Customers.Name,
Orders.OrderAmount
});
任何关于正确LINQ结构的指针都会很好,谢谢
Joe根据您编写的代码,我想您需要每个成本的第一个订单 那么你的陈述将是正确的
var minOrders = from customer in DataSet.Customers
let order = (from o in DataSet.Orders
where o.CustomerId == customer.CustomerId
order by o.OrderTimestamp
select o).first()
select new
{
customer.Name,
order.OrderAmount
});
你是想为一个特定的客户获得这个,还是为每个客户获得第一个订单?嗨,Jon,为每个客户。我已经编辑了。感谢Frederick-我希望使用MIN()获得更优雅的解决方案,但我将使用您的答案作为基础-Thanks@Joe.Net很高兴能帮上忙,我想用MIN可以得到一个complexer。您还可以查看命名空间System.Data.Linq.SqlClient中的sql方法(可能需要添加dll)谢谢,出于兴趣,为什么MIN会更复杂?@Joe.Net我没有找到MIN的好解决方案,如果您找到了,您可以随时告诉我:)