Dire que j'ai une définition de méthode en tant que telle:'orderby' dans LINQ en utilisant un tableau de chaînes C#
public CustomerOrderData[] GetCustomerOrderData(string[] CustomerIDs)
{
var query = (from a in db.Customer
join b in db.Order on a.CustomerID equals v.CustomerID
orderby CustomerIDs
select new CustomerOrderData()
{
//populate props here
}).ToArray();
}
Mes CustomerIDs dans param d'entrée pourrait être { "1", "3", "400", » 200 "}
Je veux que mon tableau de retour soit ordonné de la manière ci-dessus. Y a-t-il un moyen facile de réaliser cela?
Ma solution était de le mettre dans un dictionnaire, puis de créer un nouveau tableau tout en bouclant ma collection CustomerIDs.
CustomerOrderData a une propriété nommée CustomerID
tvanfosson: J'ai essayé votre méthode, le tableau retourné ne semble pas être sroted par ma chaîne CustomerIDs []. Semble que les données sont triées par ordre décroissant – ltech
customerID est une chaîne dans la classe d'entité? Si ce n'est pas le cas, essayez de faire un IndexOf (j.Customer.CustomerID.ToString()) - ou changez votre tableau en un tableau de valeurs int (en supposant que c'est le type sur l'entité). – tvanfosson