|
@@ -582,9 +582,9 @@ namespace Masuit.Tools
|
|
|
/// <param name="key1Selector">对比因素属性</param>
|
|
|
/// <param name="key2Selector">对比因素属性</param>
|
|
|
/// <returns></returns>
|
|
|
- public static (IEnumerable<T2> adds, IEnumerable<T1> remove, IEnumerable<T1> updates) CompareChanges<T1, T2>(this IEnumerable<T1> olds, IEnumerable<T2> news, Func<T1, object> key1Selector, Func<T2, object> key2Selector)
|
|
|
+ public static (List<T2> adds, List<T1> remove, List<T1> updates) CompareChanges<T1, T2>(this IEnumerable<T1> olds, IEnumerable<T2> news, Func<T1, object> key1Selector, Func<T2, object> key2Selector)
|
|
|
{
|
|
|
- return (news.Where(c => olds.All(m => key1Selector(m) != key2Selector(c))), olds.Where(m => news.All(c => key2Selector(c) != key1Selector(m))), olds.Where(m => news.Any(c => key1Selector(m) == key2Selector(c))));
|
|
|
+ return (news.Where(c => olds.All(m => key1Selector(m) != key2Selector(c))).ToList(), olds.Where(m => news.All(c => key2Selector(c) != key1Selector(m))).ToList(), olds.Where(m => news.Any(c => key1Selector(m) == key2Selector(c))).ToList());
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -595,9 +595,9 @@ namespace Masuit.Tools
|
|
|
/// <param name="news"></param>
|
|
|
/// <param name="keySelector">对比因素属性</param>
|
|
|
/// <returns></returns>
|
|
|
- public static (IEnumerable<T> adds, IEnumerable<T> remove, IEnumerable<T> updates) CompareChanges<T>(this IEnumerable<T> olds, IEnumerable<T> news, Func<T, object> keySelector)
|
|
|
+ public static (List<T> adds, List<T> remove, List<T> updates) CompareChanges<T>(this IEnumerable<T> olds, IEnumerable<T> news, Func<T, object> keySelector)
|
|
|
{
|
|
|
- return (news.Where(c => olds.All(m => keySelector(m) != keySelector(c))), olds.Where(m => news.All(c => keySelector(c) != keySelector(m))), olds.Where(m => news.Any(c => keySelector(m) == keySelector(c))));
|
|
|
+ return (news.Where(c => olds.All(m => keySelector(m) != keySelector(c))).ToList(), olds.Where(m => news.All(c => keySelector(c) != keySelector(m))).ToList(), olds.Where(m => news.Any(c => keySelector(m) == keySelector(c))).ToList());
|
|
|
}
|
|
|
}
|
|
|
}
|