Соединение между моделью и представлением в С# с помощью ef coreC#

Место общения программистов C#
Ответить
Anonymous
 Соединение между моделью и представлением в С# с помощью ef core

Сообщение Anonymous »

  • WorkflowData — это таблица в базе данных
public class WorkflowData : Entity
{
public int Id{ get; set; }
... others fields
public ICollection WorkflowDataDynamicColumns { get; set; }

}
  • WorkflowDataDynamicColumn — это представление в базе данных
public class 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»