Utilizzo di C# ...Come creare un LINQ dinamico selezionare la funzione di proiezione da una stringa [] di nomi?
C'è un modo per specificare i nomi di proprietà per una funzione di proiezione su un metodo di selezione LINQ
, da una matrice.
public class Album
{
public int Id { get; set; }
public string Name { get; set; }
public short Rate { get; set; }
public string Genre { get; set; }
public short Tracks { get; set; }
}
public class Class1
{
private void Some<T>()
{
// Example of source
var names = new[] { "Id", "Name", "Tracks" };
var query = myDataContext.
GetTable<T>.
AsQueryable().
Select(/* dynamic projection from names array */);
// something like
// Select(x => new
// {
// x.Id,
// x.Name,
// x.Tracks
// }
GoAndDoSomethingWith(query);
}
}
Questo può essere fatto senza System.Linq.Dynamic
?
Qual è il vostro bisogno di fondo qui? Chiaramente se si sta andando a hard-code di un array si potrebbe hardcodificare la query. Cosa stai cercando di ottenere? – Enigmativity
Questo array è solo un esempio, la fonte dei nomi delle raccolte è diversa. – Shin
Sì, ma questo non è il tuo bisogno di fondo. Perché hai bisogno di farlo in questo modo? Cosa stai cercando di ottenere? Qual è la forza trainante? – Enigmativity