#c# #json #asp.net-mvc #linq #asp.net-core
Вопрос:
Dictionary<Guid, string> flexEventTriggers = RepositoryContainer.GBM.Flex.Admin_FlexTriggerEvents.AsQueryable()
.Where(x => flexEventTriggerIds.Contains(x.RecordID)).ToDictionary(x => x.RecordID, x => x.Name);
Dictionary<Guid, string> lookupEntities = RepositoryContainer.GBM.Flex.Admin_LookupEntities.AsQueryable()
.Where(x => lookupEnityIds.Contains(x.RecordID)).ToDictionary(x => x.RecordID, x => x.Name);
Dictionary<Guid, string> documents = RepositoryContainer.IDB.Flex.Documents.AsQueryable()
.Where(x => DocumentRecordIds.Contains(x.RecordID)).ToDictionary(x => x.RecordID, x => x.Name);
foreach (var log in flexEventTriggerLogsList)
{
if (DocumentRecordIds.Count > 0)
{
foreach (var dcoumentId in DocumentRecordIds)
{
//Fetch DocumentId's, LookupEntity_RecordID, FlexEventTrigger_RecordID from log additional data
flexEventTriggerLogs.Add(new FlexEventTriggerLog
{
Name = documents[documentId],
Event_Name = flexEventTriggers[FlexTriggerEventRecordID],
Action_Name = lookupEntities[Entity_RecordID],
});
}
}
Как я буду присваивать данные своему объекту в цикле foreach для имени, имени события, имени действия. В настоящее время он выдает ошибку в приведенном ниже коде.
Name = documents[documentId],
Event_Name = flexEventTriggers[FlexTriggerEventRecordID],
Action_Name = lookupEntities[Entity_RecordID],
Комментарии:
1. Итак, каковы детали ошибки?
Ответ №1:
Убедитесь, что у вас DocumentRecordIds
есть тип List<Guid>
, и свойство( Name, Event_Name, Action_Name
) должно быть типом string
.
Вы также можете попробовать это:
Name = documents.Where(p => p.Key == dcoumentId).Select(p => p.Value).FirstOrDefault();