У меня есть следующий бит кода и хотел бы добавить его в keyvaluepair List/Array/Dictionary, который лучше всего работает.Добавление элементов в список ключевых слов Список
Немного фона: В настоящее время этот фрагмент взаимодействует непосредственно с БД, и он находится внутри цикла, который подталкивает к БД на каждой итерации данные. Мое общее намерение состоит в том, чтобы подтолкнуть эти данные к списку/словарю и т. Д., Чтобы я мог одновременно вывести все данные в БД. Вот оно:
_dataContext.GetRepository<UserRole, Guid>().Insert(new[]
{
new UserRole
{
Id = Guid.NewGuid(),
UserId = newGroup.CreatedById,
RoleId = SecurityConstants.RoleId.GROUP_ADMINISTRATOR,
GroupId = newGroup.Id,
CreatedById = newGroup.CreatedById
},
new UserRole
{
Id = Guid.NewGuid(),
RoleId = SecurityConstants.RoleId.CONTACT_PERSON,
UserId = newGroup.CreatedById,
GroupId = newGroup.Id,
CreatedById = newGroup.CreatedById
}
});
Вышеупомянутый GetRepository затем обращается к БД, как описано выше. Я хотел бы хранить данные отдельно в зависимости от того, способ работает, так что я может подтолкнуть его к БД позже
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();
}
Я объявляю словарь здесь:
Dictionary<UserRole, Guid> _usersRepositoryDictionary = new Dictionary<UserRole, Guid>();
и попытаться поместить данные в нем таким образом:
_usersRepositoryDictionary.Add(new[] { new UserRole
{
Id = Guid.NewGuid(),
UserId = newGroup.CreatedById,
RoleId = SecurityConstants.RoleId.GROUP_ADMINISTRATOR,
GroupId = newGroup.Id,
CreatedById = newGroup.CreatedById
},
new UserRole
{
Id = Guid.NewGuid(),
RoleId = SecurityConstants.RoleId.CONTACT_PERSON,
UserId = newGroup.CreatedById,
GroupId = newGroup.Id,
CreatedById = newGroup.CreatedById
}
});
Однако я получаю индикатор ошибки над «Добавить», что говорит, «нет ни одного аргумента, при условии, что соответствует требуемому формальному параметру„значению“Dictionary.Add (UserRole, Guid)»
Любые подсказки, что я делаю неправильно?
В чем проблема? В частности: где 'Insert' хранит ваши данные? – HimBromBeere
Вставка отправляет данные в пользовательский репозиторий для доступа к Db @HimBromBeere Я просто добавил его как вышеизложенное – Chuckles
Я действительно не понимаю, в чем проблема, но я думаю, что вы можете использовать словарь просто отлично. –