diff --git a/OpenAuth.Repository/RelevanceRepository.cs b/OpenAuth.Repository/RelevanceRepository.cs
index 96c4a96f..187413a4 100644
--- a/OpenAuth.Repository/RelevanceRepository.cs
+++ b/OpenAuth.Repository/RelevanceRepository.cs
@@ -1,6 +1,7 @@
using OpenAuth.Domain;
using OpenAuth.Domain.Interface;
using System;
+using System.Collections.Generic;
using System.Linq;
namespace OpenAuth.Repository
@@ -35,20 +36,16 @@ namespace OpenAuth.Repository
/// 关联的<firstId, secondId>数组
public void AddRelevance(string key, ILookup idMaps)
{
- foreach (var sameVals in idMaps)
- {
- foreach (var value in sameVals)
+ DeleteBy(key, idMaps);
+ BatchAdd((from sameVals in idMaps
+ from value in sameVals
+ select new Relevance
{
- Add(new Relevance
- {
- Key = key,
- FirstId = sameVals.Key,
- SecondId = value,
- OperateTime = DateTime.Now
- });
- }
- }
- Save();
+ Key = key,
+ FirstId = sameVals.Key,
+ SecondId = value,
+ OperateTime = DateTime.Now
+ }).ToArray());
}
}
}
\ No newline at end of file