我有以下用于更新数据库的界面
public interface IMydDataContext : IDisposable
{
IRepository<TEntity, TKrey> GetRepository<TEntity, TKrey>() where TEntity : class, IDomainObject<TKrey>;
IDbSet<TEntity> Set<TEntity, TKey>() where TEntity : class, IDomainObject<TKey>;
int SaveChanges();
Task<int> SaveChangesAsync();
}
GetRepository函数与我的_DataContext一起使用,其定义如下:
private IMydDataContext _dataContext;
并按以下方式使用:
var newGroup = new Group
{
Id = Guid.NewGuid(),
Key = DiContainer.GetInstance<IEntityKeyGeneratorService>().Generate(request.Name),
Name = name,
CreatedOn = DateTime.UtcNow,
CreatedById = GetUserIdFromHttpContext().ToString()
};
_dataContext.GetRepository<Group, Guid>().Insert(newGroup);
为了提高效率,我创建了一个KeyValuePair列表,可以保存newGroup的几次迭代(这样我可以将它们一次性推送到DB):
List<KeyValuePair<Group, Guid>> _dataContextList = new List<KeyValuePair<Group, Guid>>();
_dataContextList.Insert(0,new KeyValuePair<Group,Guid>(newGroup, newGroup.Id));
我的问题是:
如何使用这个新的KeyValuePair列表&#34; _dataContextList&#34;使用&#34; GetReposititory&#34;或一般的IMYDataContext类?
我想让我的_dataContextList具有与vanilla _dataContext相同的功能,这样它就可以以相同的方式向同一个地方发送它的每个值。