سؤال

لقد بدأت اللعب قليلا مع تنفيذ IQueryableu003CT> Datatype للاستعلام باستخدام LinQ. على سبيل المثال، قمت ببعض الوظائف مثل هذا (فهي مجرد تفاصيل مؤقتة أن طريقة التمديد ليست في التنفيذ المحدد المحدد):

public static IQueryable<T> Pow<T>(this IQueryable<T> values, T pow)
{
    var e = BinaryExpression.Power(values.Expression, ConstantExpression.Constant(pow));

    return values.Provider.CreateQuery<T>(e);
}

ثم احسبت أنه سيكون من المفيد تطبيق وظيفة لكل عنصر في كائن Iqueryable ولكن لا يمكنني معرفة كيفية إنشاء التعبير المناسب. طريقة توقيع الطريقة يمكن أن تبدو مثل هذا:

public static IQueryable<T> Map<T>(this IQueryable<T> values, Expression<Func<T,T>> map)
{
    Expression e = ...

    return values.Provider.CreateQuery<T>(e);
}

كيف يجب أن أكمل هذه الطريقة؟

هل كانت مفيدة؟

المحلول

يبدو لي أنك تخترع يختار. وبعد لا أرى الفرق بين خريطتك وما حدده بالفعل. إرجاع IQueryable u003CU>بناء على تعبير وأوليu003C/u>u003CT> u003CU>وبعدu003C/u>

لشيء مثل تقليل / أضعاف، انظر queryable.ggort. وظيفة.

نصائح أخرى

أنت تبحث عن .Select() طريقة

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top