Мне нужно добавить несколько поисковых запросов в мое приложение C # .NET. По сути, будет много таблиц, все они имеют одинаковую схему, но содержат разные значения.
Мне приходится писать один и тот же код снова и снова (это должен быть объектно-ориентированный способ…)
[изменить - ниже изменено, чтобы показать более полную информацию] В любом случае, я хотел бы сделать следующее:
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();
}
конечно, проблема в том, что компилятор не знает, что такое 'p => p.Sequence'. Есть идеи?
Всем спасибо.