Difficult query

All,

I am currently building an admin view with the following Specifications

Object A

Id (PK)

Title

Object B

Id (PK)

AId (FK)

start

end

Object C

Id (PK)

BId (FK)

EId (FK)

Feedback

Object D

Id (PK)

BId (FK)

EId (FK)

Rating

Object E

Id (PK)

name

A has many B

B has many C

B has many D

C belongs to E

D belongs to E

Now I need to pour this in a Gridview like this:

A.title | B.start | B.end | E.name | Type based on being either C or D

Obviously, A and B could be repeated for every C and D there is for that specific object. E.name is also not distinct, but it is distinct within one B.

Like an admin view, this also needs to be filterable (for example on the E.name) and rows should be deletable (this deletes the C or D entry) or updatable (this opens a single edit field where all objects related to B will be editable).

I seem to primarily stumble upon a problem with the either C or D part and the has many is also giving me headaches. So anyone has any tips?