有人可以帮助以下......它让我疯了......
ApplicationDbContext
答案 0 :(得分:2)
听起来你可能只想要一个Func<Model, int>
参数:
public IEnumerable<int> GetData(Func<Model, int> projection)
{
return myData.Select(projection).Distinct();
}
然后你可以:
var modelIds = GetData(m => m.ModelID);
var vehicleIds = GetData(m => m.VehicleID);
这就是你之后的事吗? (假设myData
是IEnumerable<Model>
。如果它是IQueryable<Model>
,您可能希望接受Expression<Func<Model, int>>
。)
答案 1 :(得分:1)
目前尚不清楚你究竟追求的是什么。也许是这样的?
public static IEnumerable<TResult> GetData<TModel, TResult> (this IEnumerable<TModel> enumerable, Func<TModel, TResult> projection)
{
return enumerable.Select(projection);
}
而不是像这样打电话:
var ints = myData.GetData<MyModel,int>(m=>m.ModelID).Distinct();
var doubles = myData.GetData<MyModel,double>(m=>m.DoubleProp).Distinct();
等...
答案 2 :(得分:0)
public ICollection<T> FindAllWhere(Expression<Func<T, bool>> selectSelector)
{
ICollection<T> elements = EntitySet.Select(selectSelector).ToList().Distinct();
return elements;
}