public class Post
{
public Guid Id { get; set; }
public List<File> Files { get; set; }
}
public class File
{
public Guid Id { get; set; }
public string PhysicalPath { get; set}
}
И я не уверен, почему EF Core создает таблицу файлов как:
Id, PhysicalPath, PostId
Почему он не может сопоставить идентификаторы каждогоэлемент List<Files>
сообщения Post to File.ID вместо создания дополнительного столбца?
Есть ли другое решение, которое изменяет
public List<File> Files { get; set; }
на
public List<Guid> Files { get; set; }
и отправка еще одного запроса для загрузки всех этих файлов?
например
var from_db = new List<File>();
foreach (var fileID in Post.Files)
{
from_db.Add(_context.files.FirstOrDefault(x => x.Id == FileId));
}
Конечно, я не говорю, что это "путь"загрузка списка - "самая эффективная", потому что наверняка можно загрузить все их в одном запросе, но об этом не стоит думать в этой теме.