using System;
using System.Linq;
using System.Collections.Generic;
public class Program public static void Main()
{
//Customer collection
IList<Customer> CustomertList = new List< Customer>() {
new Customer() { CustomerID = 1, CustomerName = "John"/span>, OrderID = 04 } ,
new Customer() { CustomerID = 2, CustomerName = "Moin", OrderID = 07 } ,
};
//交易集合
IList<Transaction> TransactionList = new List<Transaction> () {
new Transaction() { TransactionID = 1, OrderID = 04, Purchased = "TV", StoreName ="Amazon"} , Purchased = , StoreName = ,
new Transaction() { TransactionID = 2, OrderID = 07, Purchased = "Laptop", StoreName ="Ebay"}. ,
new Transaction() { TransactionID = 3, OrderID = 07, Purchased = "Mobile",StoreName ="Ebay"} . ,
};
//LINQ查詢
var result =(from Cus in CustomertList
join TRan in TransactionList on Cus.OrderID equals TRan.OrderID
selectnew
{
CustomerName =Cus.CustomerName,
OrderID = Cus.OrderID,
商店名稱 =TRan.StoreName
}).ToList()。
foreach(var Cus in result){
Console.WriteLine( "Name - {0} , Order ID - {1}", StoreName - {2}"。,Cus.CustomerName , Cus.OrderID,Cus.StoreName)。
}
}
}
public class Customer
{
public int CustomerID { get; set; }
public string CustomerName { get; set; }
public int OrderID { get; set; }
}
public class Transaction
{
public int TransactionID { get; set; }
public int OrderID { get; set; }
public string Purchased { get; set; }
public string StoreName { get; set; }
結果 :
Name - John, Order ID - 4, StoreName - Amazon
Name - Moin, Order ID - 7, StoreName - Ebay
姓名 - Moin, 訂單ID - 7, 商店名稱 - Ebay
從上面的代碼,我得到上述結果,我需要顯示所有的訂單和客戶名稱以及他們購買的商店,但我得到重復的值,我把正常的連接查詢,但我需要下面的預期結果。
預期結果 :
姓名 - John, 訂單ID - 4, 商店名稱 - Amazon
姓名 - Moin, 訂單編號 - 7, 商店名稱 - Ebay .
uj5u.com熱心網友回復:
只要試試這個
.....
select new
{
CustomerName = Cus.CustomerName,
OrderID = Cus.OrderID,
商店名稱 = TRan.StoreName
}).Distinct().ToList()。
uj5u.com熱心網友回復:
它是重復的,因為你的鍵是重復的...... 如果你按Serge說的去做,它就能正常作業。
// LINQ 查詢
var result =(from Cus in CustomertList
join TRan in TransactionList on Cus.OrderID equals TRan.OrderID
selectnew
{
CustomerName =Cus.CustomerName,
OrderID = Cus.OrderID,
商店名稱 =TRan.StoreName
}).Distinct().ToList()。
或者你可以在結果查詢之前,在TransactionList中按CustomerName, OrderID和StoreName分組。使用GroupBy,你將不需要使用Distinct()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/310078.html
標籤:
下一篇:如何避免"System.InvalidOperationException:客戶端投影包含對一個常量運算式的參考"的錯誤?
