Permintaan pengambilan harus berupa ekspresi akses anggota yang sederhana; '[100002]' adalah SubQueryExpression sebagai gantinya

Saya mendapatkan kesalahan berikut: "Permintaan pengambilan harus berupa ekspresi akses anggota yang sederhana; '[100002]' adalah SubQueryExpression. Nama parameter:relatedObjectSelector"

Di bawah ini adalah pertanyaan saya:

var query =
    session.Query<Customer().Where(cus => cus.CustomerId == customerId)
    .Fetch(c => c.CustomerType) // Parent CustomerType
    .Fetch(c => c.CustomerOrders) // Child Collection of orders
    .ThenFetch(co => co.Select(it => it.Item)).ToList(); // A parent of CustomerOrder

Jika saya mengeluarkan 'ThenFetch' maka saya tidak mendapatkan kesalahan itu. Namun, saya perlu mengambil objek Item.

Ada ide?

Terima kasih


person Rema Manual    schedule 29.10.2012    source sumber


Jawaban (1)


Tidak bisakah Anda menerapkan pilihan pada CustomerOrder yang dihasilkan?

var query =
    session.Query<Customer().Where(cus => cus.CustomerId == customerId)
    .Fetch(c => c.CustomerType)
    .Fetch(c => c.CustomerOrder)
    .Select(co => co.Item)
    .ToList();
person René Wolferink    schedule 29.10.2012
comment
.Pilih mengambil Pelanggan dan bukan CustomerOrder - person Rema Manual; 29.10.2012