public TEntity FindByKey(int id) { var item = Expression.Parameter(typeof(TEntity), "entity"); var prop = Expression.Property(item, typeof(TEntity).Name + "Id"); var value = Expression.Constant(id); var equal = Expression.Equal(prop, value); var lambda = Expression.Lambda>(equal, item); return GetAsNoTrackingQueryable().SingleOrDefault(lambda); }