Ich habe folgendes DTO:Füllen DTO Modelle mit Einheiten Werte
public class EbookDTO {
public Int32 EbookId { get; set; }
public Int32 CoverId { get; set; }
public Int32 DocumentId { get; set; }
}
Und ich habe folgende Entity Framework Entitäten:
public class EbookFile {
public Int32 EbookId { get; set; }
public Int32 FileId { get; set; }
public virtual Ebook Ebook { get; set; }
public virtual File File { get; set; }
}
public class File {
public Int32 Id { get; set; }
public Int32 EbookFileId { get; set; }
public String Name { get; set; }
public virtual EbookFile EbookFile { get; set; }
}
Ich habe die folgende EbookDTO
Liste:
List<EbookDTO> ebooks = new List<EbookDTO>() {
new EbookDTO { Id = 1 },
new EbookDTO { Id = 2 }
}
Ich brauche für jedes dieser E-Books ihre DocumentId und CoverId:
- In contexts.EbooksFiles bekommen diejenigen, die
Ebook.Id
=DTO.EbookId;
- Aus (1) nehmen Sie die Dateien Ids jedes
EbookFile
hat; - Finden Sie in
context.Files
diejenigen, die die Ids aufgenommen haben (2); - Jede
EbookDTO
DocumentId
wäre die Datei mit dem Namen "Document" und dieEbookDTO
CoverId
wäre die Datei mit dem Namen Cover.
habe ich versucht, ein paar Fragen wie:
context
.EbooksFiles
.Where(x => ebooks.Select(y => y.Id).Contains(x.EbookId))
Aber ich bin nicht sicher, wie den Dateinamen zu testen, seine ID erhalten und die DocumentId
und CoverId
jedes EbookDTO
definieren hinzuzufügen.