J'ai une instruction LINQ assez complexe à laquelle j'ai besoin d'accéder pour différentes méthodes. Chacune de ces méthodes peut avoir besoin de voir les données résultantes avec des paramètres différents. Pour une méthode, il peut s'agir d'un code de projet, pour un autre, il peut s'agir d'un langage. La déclaration est à peu près la même chose, c'est juste la partie où cela change.Utilisation d'une instruction LINQ avec différents paramètres
Je n'ai pas été en mesure de comprendre comment utiliser différentes où les déclarations sans dupliquer la totalité de l'instruction LINQ, et que tout simplement pas assez sec pour moi.
Par exemple (très simplifié):
var r = from c in customer
where c.name == "some name"
// or it may be
var r = from c in customer
where c.customerId == 8
Est-il possible d'avoir deux dans la même déclaration que je puisse utiliser l'un ou l'autre en fonction de ce que je fais? J'ai essayé une instruction if pour utiliser l'une des déclarations where ou l'autre, et cela ne s'est pas très bien passé.
Vous pourriez simplement attribuer 'client' à r en fonction de son type ou même réaffecter les résultats de la clause Where au client. Cela dépend du contexte. Par exemple, si les clients est Tableau, je pense que vous pouvez simplement faire 'var r = db.Customers.AsQueryable()', alors r serait '' IQueryable –
tvanfosson
@tvanfosson - D'accord, si elle est une simple requête comme ça , préférable d'utiliser cette approche ... sonnait de la question comme si elle ne l'était pas. Je pense que dans votre exemple juste 'var r = db.Customers' fonctionne bien, puisque' Tableau: IQueryable ' –
L'instruction LINQ est compliquée, bien que la seule différence entre les deux ou trois itérations est là déclaration. – Brettski