using OpenAuth.Domain; using OpenAuth.Domain.Interface; using System; using System.Linq; namespace OpenAuth.Repository { public class RelevanceRepository : BaseRepository, IRelevanceRepository { public void DeleteBy(string key, params int[] firstIds) { Delete(u => firstIds.Contains(u.FirstId) && u.Key == key); } /// /// 删除关联 /// /// 关联标识 /// 关联的<firstId, secondId>数组 public void DeleteBy(string key, ILookup idMaps) { foreach (var sameVals in idMaps) { foreach (var value in sameVals) { Delete(u =>u.Key == key && u.FirstId == sameVals.Key && u.SecondId == value); } } } /// /// 添加新的关联 /// /// 关联标识 /// 关联的<firstId, secondId>数组 public void AddRelevance(string key, ILookup idMaps) { foreach (var sameVals in idMaps) { foreach (var value in sameVals) { Add(new Relevance { Key = key, FirstId = sameVals.Key, SecondId = value, OperateTime = DateTime.Now }); } } Save(); } } }