/// <summary> /// Source集合赋值给List.Value集合 /// </summary> /// <typeparam name="TList"></typeparam> /// <typeparam name="TSource"></typeparam> /// <typeparam name="TIdType"></typeparam> /// <typeparam name="TValueType"></typeparam> /// <param name="list">被设置Value字段值的列表</param> /// <param name="source">Id和Value对应的数据源</param> /// <param name="listIdField">List.Id字段</param> /// <param name="listValueField">List.Value被设置值字段</param> /// <param name="sourceIdField">Source.Id字段</param> /// <param name="sourceValueField">Source.Value字段</param> /// <returns></returns> public static IEnumerable <TList> SetListValuesByIds <TList, TSource, TIdType, TValueType>(this IEnumerable <TList> list, IEnumerable <TSource> source, Func <TList, IEnumerable <TIdType> > listIdField, Expression <Func <TList, IEnumerable <TValueType> > > listValueField, Func <TSource, TIdType> sourceIdField, Func <TSource, TValueType> sourceValueField) { return(ListHelper.SetListValues(new ListValueByIds <TList, TSource, TIdType, TValueType>() { List = list, Source = source, ListIdField = listIdField, ListValueField = listValueField, SourceIdField = sourceIdField, SourceValueField = sourceValueField })); }
/// <summary> /// Source.Value赋值给List.Values /// </summary> /// <typeparam name="TList"></typeparam> /// <typeparam name="TSource"></typeparam> /// <param name="list">被设置Value字段值的列表</param> /// <param name="source">Id和Value对应的数据源</param> /// <param name="listIdField">List.Id字段,字符串集合(多个用split分割)</param> /// <param name="listValueField">List.Value被设置值字段</param> /// <param name="sourceIdField">Source.Id字段</param> /// <param name="sourceValueField">Source.Value字段</param> /// <param name="split">字符串分割符</param> public static IEnumerable <TList> SetListValuesByIdsString <TList, TSource>(this IEnumerable <TList> list, IEnumerable <TSource> source, Func <TList, string> listIdField, Expression <Func <TList, string> > listValueField, Func <TSource, long> sourceIdField, Func <TSource, string> sourceValueField, char split) { return(ListHelper.SetListValues(new ListValueByIdsString <TList, TSource, long>() { List = list, Source = source, ListIdField = listIdField, ListValueField = listValueField, SourceIdField = sourceIdField, SourceValueField = sourceValueField, Split = split })); }