Ich muss einige "Lookup"-Abfragen zu meiner C#.NET-Anwendung hinzufügen. Im Grunde wird es viele Tabellen geben, die alle das gleiche Schema haben, aber unterschiedliche Werte enthalten.
Ich bin damit konfrontiert, immer wieder denselben Code zu schreiben (es sollte eine OO-Methode dafür geben )
[Bearbeiten - unten ist geändert, um mehr vollständige Informationen zu zeigen] Wie auch immer, was ich gerne tun würde, ist:
public List<GenericLookupE> GetLookupItems( string what )
{
// create db thing
if ( "regions" == what ) return FetchLookup( db.lkRegions.AsQueryable() );
if ( "partners" == what ) return FetchLookup( db.lkPartners.AsQueryable() );
if ( "funders" == what ) return FetchLookup( db.lkFunders.AsQueryable() );
return null; // or something more intelligent than that =)
}
private List<GenericLookupE> FetchLookup<T>( IQueryable<T> lookup )
{
return lookup.OrderBy( p => p.Sequence ).Select
( p => new GenericLookupE()
{
ID = p.ID
,Label = p.Label
,StateCode = p.StateCode
,Sequence = p.Sequence
}
).ToList();
}
Das Problem ist natürlich, dass der Compiler nicht weiß, was 'p => p.Sequence' ist. Irgendwelche Ideen?
Ich danke Ihnen allen.