1
我是LINQ的新手,所以在編寫查詢時顯然面臨困難。如何使用Linq查詢檢索數據
這裏是我的代碼:
public class Customer
{
public int cid { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string City { get; set; }
}
public class Order
{
public int Orderid { get; set; }
public int customerid { get; set; }
public int Quantity { get; set; }
}
static void Main(string[] args)
{
List<Customer> customerList = new List<Customer>
{
new Customer(){cid=1,FirstName="Avinash",LastName="Kothamasu",City="Chennai"},
new Customer(){cid=2,FirstName="Abhiram",LastName="Kumar",City="Chennai"},
new Customer{cid=3,FirstName="Balu",LastName="Chinna",City="Chennai"},
new Customer{cid=4,FirstName="Sai",LastName="Kothamasu",City="Bhimavaram"},
new Customer{cid=5,FirstName="Harshita",LastName="Kothamasu",City="Bhimarvarm"},
new Customer{cid=6,FirstName="Mounika",LastName="Kothamasu",City="Guntur"}
};
List<Order> orderList = new List<Order>
{
new Order(){Orderid=11,customerid=1,Quantity=20},
new Order(){Orderid=111,customerid=1,Quantity=10},
new Order(){Orderid=22,customerid=2,Quantity=15},
new Order(){Orderid=222,customerid=2,Quantity=8},
new Order(){Orderid=22222,customerid=2,Quantity=50},
new Order(){Orderid=33,customerid=3,Quantity=10},
new Order(){Orderid=333,customerid=3,Quantity=5},
new Order(){Orderid=44,customerid=4,Quantity=4},
new Order(){Orderid=55,customerid=5,Quantity=1},
new Order(){Orderid=66,customerid=6,Quantity=2}
};
var OrderListforCustomers = from c in customerList
join o in orderList on
c.cid equals o.customerid
where o.Quantity > 1 && o.Quantity <= 50
group new { c, o } by new { o.customerid, c.FirstName, c.LastName, c.City } into customergroups
orderby customergroups.Key.customerid
select new
{
CustomerID = customergroups.Key.customerid,
CustomerName = customergroups.Key.FirstName.ToUpper() + " , " + customergroups.Key.LastName.ToUpper(),
City = customergroups.Key.City,
MaximumQuantityCount = customergroups.Select(x=>x.o).Max(x=>x.Quantity),
*OrderIDwithMaxQuanCount=customergroups.Select(x=>x.o.Orderid).Where();*
};
Console.Write("CID" + " || ");
Console.Write("CustomerName" + " || ");
Console.Write("City" + " | ");
Console.Write("MaximumQuantityCount" + " || ");
Console.Write("OrderIDwithMaxCount");
Console.WriteLine(Environment.NewLine);
foreach (var custgroup in OrderListforCustomers)
{
Console.Write(custgroup.CustomerID + " || ");
Console.Write(custgroup.CustomerName + " || ");
Console.Write(custgroup.City + " || ");
Console.Write(custgroup.MaximumQuantityCount + " || ");
Console.Write(Environment.NewLine);
Console.ReadLine();
在這裏,我所試圖做的是與訂單詳細信息與一些condidtions沿着打印客戶詳細信息。
我需要打印具有最高要求的數量客戶的訂單ID
我能夠retieve的MaxOrderCount特定客戶,但無法獲取其最大數量的訂單id
在查詢中,SELECT子句中的最後一行,我面臨着如何寫
請幫助一些困難..
@Aducci ......曾擔任Charm..have打破了我的頭長time..Thanks –
@AvinashKothamasu,我很高興我能幫助:) – Aducci
..我在這裏有一個小的疑問..我可以通過Quantity by order by子句下面的group by子句? –