【发布时间】:2023-03-02 23:57:02
【问题描述】:
我必须向我的 C#.NET 应用程序添加一些“查找”查询。基本上,会有很多表都具有相同的模式,但包含不同的值。
我面临一遍又一遍地编写相同的代码(应该是一种 OO 方式来做到这一点..)
[编辑 - 下面被修改以显示更完整的信息] 无论如何,我想做的是:
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' 是什么。 有什么想法吗?
谢谢大家。
【问题讨论】:
-
这里没有人知道
p => p.Sequence是什么...你能详细说明一下吗? -
我刚刚得出了同样的结论。 -- 更新问题