1
値:エンティティとDTOモデルを塗りつぶし、私は以下のDTO持っ
public class EbookDTO {
public Int32 EbookId { get; set; }
public Int32 CoverId { get; set; }
public Int32 DocumentId { get; set; }
}
をそして、私は、次のEntity Frameworkのエンティティを持っている:
List<EbookDTO> ebooks = new List<EbookDTO>() {
new EbookDTO { Id = 1 },
new EbookDTO { Id = 2 }
}
:
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; }
}
私は、次のEbookDTO
リストを持っています
これらの電子書籍ごとに、DocumentIdとCoverIdを取得する必要があります。
contexts.EbooksFilesで- は、(1)から
Ebook.Id
=DTO.EbookId;
- を持っているものを取得するには、各
EbookFile
のファイルのIdsを取ります。 context.Files
で見つけたのは、(2)で取得したIDを持つものです。- 各
EbookDTO
DocumentId
は「Document」という名前のファイルで、EbookDTO
CoverId
はCoverという名前のファイルになります。
私は、次のようないくつかのクエリを試してみました:
context
.EbooksFiles
.Where(x => ebooks.Select(y => y.Id).Contains(x.EbookId))
をしかし、私は、ファイル名をテストし、そのIDを取得し、各EbookDTO
のDocumentId
とCoverId
の定義に追加するかどうかはわかりません。