- WorkflowData — это таблица в базе данных
{
public int Id{ get; set; }
... others fields
public ICollection WorkflowDataDynamicColumns { get; set; }
}
- WorkflowDataDynamicColumn — это представление в базе данных
{
public int WorkflowDataId { get; set; }
public string? Value { get; set; }
}
Мне нужно запросить записи WorkflowData и для каждой записи получить ключ этого объекта и список объектов со связями в «WorkflowDataDynamicColumn». Как я могу это сделать?Я пробовал, но не работает:
var query = _context.WorkflowDatas
.AsNoTracking()
.Include(x => x.WorkflowStatus)
.Include(wd => wd.WorkflowDataDynamicColumns)
.Where(x =>
x.WorkflowStatus != null)
.Select(wd => new WorkflowDataDto
{
Id = wd.Id,
WorkflowStatus = wd.WorkflowStatus == null ? null : _mapper.Map(wd.WorkflowStatus),
FormColumn = wd.WorkflowDataDynamicColumns.Select(dc => new WorkflowDataFormColumnDto
{
Id = dc.Id,
Value = dc.Value ?? string.Empty,
}).ToList()
}).ToListAsync();
Сообщение об ошибке:
Unable to determine the relationship represented by navigation 'WorkflowData.WorkflowDataDynamicColumns' of type 'ICollection'. Either manually configure the relationship, or ignore this property using the '[NotMapped]' attribute or by using 'EntityTypeBuilder.Ignore' in 'OnModelCreating'.
Мне нужна полезная нагрузка:
{
"id": 21094,
"workflowStatus": { ... }
"formColumn": [
{
"id": 1,
"value": "abc"
},
{
"id": 2,
"value": "def"
},
...
]
}```
Подробнее здесь: https://stackoverflow.com/questions/791 ... th-ef-core
Мобильная версия