рдпрд╣ рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ ASP.NET MVC 3 рд╡рд┐рдХрд╛рд╕ рд▓реЗрдЦ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИред рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдзреНрдпрд╛рдпреЛрдВ рдореЗрдВ рдкрд╣рд▓рд╛ рдЕрдзреНрдпрд╛рдп рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
рдкрд┐рдЫрд▓реЗ рдкрд╛рда рдореЗрдВ, рд╣рдордиреЗ рд╕реНрдХреВрд▓ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдкрд░ рдХрд╛рдо рдкреВрд░рд╛ рдХрд┐рдпрд╛ред рдЗрд╕ рдкрд╛рда рдореЗрдВ, рд╣рдо рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдореЗрдВ рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдХреЛ рд▓реЛрдб рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВрдЧреЗред
рджреГрд╖реНрдЯрд╛рдВрдд рд╣рдорд╛рд░реЗ рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред


рдЖрд▓рд╕реА, рдЙрддреНрд╕реБрдХ, рдФрд░ рд╕реНрдкрд╖реНрдЯ рд▓реЛрдбрд┐рдВрдЧ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛
рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ рдЬреЛ рдИрдПрдл рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЧреБрдгреЛрдВ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:
- рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ ред рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реА рдХреЙрд▓ рдкрд░, рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рд▓реЛрдб рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдкрд╣рд▓реА рдмрд╛рд░ рдЬрдм рдЖрдк рдиреЗрд╡рд┐рдЧреЗрд╢рди рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рдЕрдкрдиреЗ рдЖрдк рд▓реЛрдб рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реА рд╕рдордп, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреНрд░рд╢реНрди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ: рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рдФрд░ рдПрдХ рдмрд╛рд░ рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ред

- рдЙрддреНрд╕реБрдХ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ ред рдЗрдХрд╛рдИ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдкрд░ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдПрдХрд▓ рдЬреБрдбрд╝рдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рдмрд╛рдж рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЖрдк рд╢рд╛рдорд┐рд▓ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрд╕реБрдХ рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

- рд▓реЛрдбрд┐рдВрдЧ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВ ред рдпрд╣ рд╡рд┐рдзрд┐ рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рд╕рдорд╛рди рд╣реИ рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЖрдк рд╕реНрд╡рдпрдВ рдбреЗрдЯрд╛ рд▓реЛрдбрд┐рдВрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ - рдиреЗрд╡рд┐рдЧреЗрд╢рди рдкреНрд░реЙрдкрд░реНрдЯреА рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдкрд░ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдбреЗрдЯрд╛ рдХреЛ рдЗрдХрд╛рдИ рдХреЗ рд░рд╛рдЬреНрдп рд░рд╛рдЬреНрдп рдкреНрд░рдмрдВрдзрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧреНрд░рд╣.рд▓реЙрдб рд╡рд┐рдзрд┐ рдФрд░ рд╕рдВрджрд░реНрдн-рдПрдХрд▓ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рд▓реЙрдб рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред (рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрджрд┐ рдЖрдк рдкреНрд░рд╢рд╛рд╕рдХ рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрджрд░реНрдн рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ (x => x.Courses) рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ (x => x.Administrator)ред)

рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдбреЗрдЯрд╛ рддреБрд░рдВрдд рд▓реЛрдб рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рд╕рд╛рдореВрд╣рд┐рдХ рд░реВрдк рд╕реЗ
рдЖрд╕реНрдердЧрд┐рдд рд▓реЛрдбрд┐рдВрдЧ рдХрд╣рд╛ рдЬрд╛рддрд╛
рд╣реИ ред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрджрд┐ рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЙрддреНрд╕реБрдХ рд▓реЛрдбрд┐рдВрдЧ рд╡рд┐рдзрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдЕрдиреБрд░реЛрдз рдЖрдорддреМрд░ рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рдХрдИ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдХрд╛рдп рдореЗрдВ рджрд╕ рдкрд╛рдареНрдпрдХреНрд░рдо рд╣реИрдВред рдЙрддреНрд╕реБрдХ рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рдХреЗ рдмрд╛рдж рдПрдХ рдЬреБрдбрд╝рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдЧреНрдпрд╛рд░рд╣ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рджреВрд╕рд░реА рдУрд░, рдпрджрд┐ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЧреБрдгреЛрдВ рдХреЛ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдХрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ - рдЙрддреНрд╕реБрдХ рд▓реЛрдбрд┐рдВрдЧ рдЖрд╡рд╢реНрдпрдХ рд╕реЗ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░реЗрдЧрд╛ред рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рд╣реИ рдЬрд╣рд╛рдВ рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдХреНрд░рдорд╛рдВрдХрди рдХреЗ рджреМрд░рд╛рди рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдм рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рд╕рднреА рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЧреБрдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рд╕рдХреНрд╖рдо рд╣реИ, рддреЛ рд╕рднреА рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЧреБрдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЛрдб рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдХреНрд░рдорд╛рдВрдХрди рд╕рднреА рдЧреБрдгреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрджрд░реНрдн рд╡рд░реНрдЧ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ:
- рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЧреБрдгреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╕рдордп, рд╡рд░реНрдЪреБрдЕрд▓ рд╕рдВрд╢реЛрдзрдХ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЫреЛрдбрд╝ рджреЗрдВред
- рд╕рднреА рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЧреБрдгреЛрдВ рдХреЗ рд▓рд┐рдП, LazyLoadingEnabled рдХреЛ рдЧрд▓рдд рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред
рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдХреЛрдб рдХреЛ рдЫрд┐рдкрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдЬреЛ рдЙрддреНрд╕реБрдХ рдпрд╛ рд╕реНрдкрд╖реНрдЯ рд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдВрд╕реНрдерд╛рдУрдВ рдФрд░ рдХрдИ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЧреБрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рд▓реВрдк рдХреА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рдмрд╣реБрдд рдЕрдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╕рдмрдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рдХреЛрдб рдЦреЛрдЬрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред рдЗрд╕ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдореЗрдВ рдЧреБрдг рд╢реВрдиреНрдп рд╣реЛрдВрдЧреЗ рдФрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧреАред
рдкрд╛рдареНрдпрдХреНрд░рдо рд╕реВрдЪрдХрд╛рдВрдХ рдкреГрд╖реНрда рдмрдирд╛рдирд╛рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рд╕рд╛рд░ рдореЗрдВ рдПрдХ рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╕рдВрдкрддреНрддрд┐ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рднрд╛рдЧ рдХрд╛ рд╕рд╛рд░ рд╣реЛрддрд╛ рд╣реИ - рд╡рд┐рднрд╛рдЧ рдХрд╛ рд╕рд╛рд░ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдкрд╛рдареНрдпрдХреНрд░рдо рд╣реИред рд╕рдВрдХрд╛рдп рдХрд╛ рдирд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдЗрдХрд╛рдИ рдХреА рдирд╛рдо рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдкреНрд░рдХрд╛рд░ рдкрд╛рдареНрдпрдХреНрд░рдо рдХрд╛ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рдмрдирд╛рдПрдБ:
рдирд┐рдпрдВрддреНрд░рдХреЛрдВ \ CourseController.cs рдореЗрдВ, рдЗрдВрдбреЗрдХреНрд╕ рд╡рд┐рдзрд┐ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ:
public ViewResult Index() { var courses = db.Courses.Include(c => c.Department); return View(courses.ToList()); }
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдордЪрд╛рди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рд╡рд┐рднрд╛рдЧ рдХреА рдиреЗрд╡рд┐рдЧреЗрд╢рди рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ред
рджреГрд╢реНрдп \ Course \ Index.cshtml рдореЗрдВ, рдХреЛрдб рдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ:
@model IEnumerable<ContosoUniversity.Models.Course> @{ ViewBag.Title = "Courses"; } <h2>Courses</h2> <p> @Html.ActionLink("Create New", "Create") </p> <table> <tr> <th></th> <th>Number</th> <th>Title</th> <th>Credits</th> <th>Department</th> </tr> @foreach (var item in Model) { <tr> <td> @Html.ActionLink("Edit", "Edit", new { id=item.CourseID }) | @Html.ActionLink("Details", "Details", new { id=item.CourseID }) | @Html.ActionLink("Delete", "Delete", new { id=item.CourseID }) </td> <td> @Html.DisplayFor(modelItem => item.CourseID) </td> <td> @Html.DisplayFor(modelItem => item.Title) </td> <td> @Html.DisplayFor(modelItem => item.Credits) </td> <td> @Html.DisplayFor(modelItem => item.Department.Name) </td> </tr> } </table>
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рдЧрдП рд╣реИрдВ:
- рд╢реАрд░реНрд╖рдХ рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ред
- рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдирдВрдмрд░ рд╢реАрд░реНрд╖рдХ рдХреЗ рддрд╣рдд рдПрдХ рдХреЙрд▓рдо рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдЬреЛ рдХреЛрд░реНрд╕рд┐рдб рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рдореВрд▓реНрдп рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред (рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬрд┐рдпрд╛рдБ рдЖрдорддреМрд░ рдкрд░ рдкреГрд╖реНрда рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрд░реНрде рд╕рд╛рд░реНрдердХ рд╣реИ рдФрд░ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- рдЕрдВрддрд┐рдо рдХреЙрд▓рдо рдХреА рд╣реЗрдбрд┐рдВрдЧ рдХреЛ рд╡рд┐рднрд╛рдЧ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдВрддрд┐рдо рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП, рдбрд┐рдкрд╛рд░реНрдЯрдореЗрдВрдЯ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреА рд╕рдВрдкрддреНрддрд┐ рд╕реЗ рд╡рд┐рднрд╛рдЧ рдЗрдХрд╛рдИ рдХреА рдирд╛рдо рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдореВрд▓реНрдп рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
<td> @Html.DisplayFor(modelItem => item.Department.Name) </td>
рд╕рдВрдХрд╛рдп рдирд╛рдореЛрдВ рдХреА рд╕реВрдЪреА рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдареНрдпрдХреНрд░рдо рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
рдкрд╛рдареНрдпрдХреНрд░рдо рдФрд░ рдЫрд╛рддреНрд░реЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдПрдХ рдЗрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЗрдВрдбреЗрдХреНрд╕ рдкреЗрдЬ рдмрдирд╛рдПрдВрдЖрдк рдЗрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЗрдВрдбреЗрдХреНрд╕ рдкреЗрдЬ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдЯреНрд░реЛрд▓рд░ рдФрд░ рд╡реНрдпреВ рдмрдирд╛рдПрдВрдЧреЗ:
![clip_image002 [1] clip_image002[1]](https://habrastorage.org/getpro/habr/post_images/135/774/dff/135774dff7adde1c98bba97690870fd3.png)
рдбреЗрдЯрд╛ рд▓реЛрдбрд┐рдВрдЧ рдФрд░ рдбрд┐рд╕реНрдкреНрд▓реЗ рдирд┐рдореНрди рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣реЛрддрд╛ рд╣реИ:
- рд╢рд┐рдХреНрд╖рдХ рд╕реВрдЪреА рд╕рдВрдмрдВрдзрд┐рдд OfficeAssignment рдирд┐рдХрд╛рдп рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИред рдкреНрд░рд╢рд┐рдХреНрд╖рдХ рдФрд░ OfficeAssignment рдЗрдХрд╛рдЗрдпрд╛рдВ рдПрдХ-рд╕реЗ-рд╢реВрдиреНрдп рдпрд╛ рдПрдХ-рд╕реЗ-рдПрдХ рд╕рдВрд╕реНрдерд╛рдПрдБ рд╣реИрдВред OfficeAssignment рдЗрдХрд╛рдИ рдЙрддреНрд╕реБрдХ рд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред
- рдЬрдм рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рд╢рд┐рдХреНрд╖рдХ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕рдВрдмрдВрдзрд┐рдд рдкрд╛рдареНрдпрдХреНрд░рдо рд╕рдВрд╕реНрдерд╛рдПрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВред рд╕рдВрд╕реНрдерд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдХ рдФрд░ рдкрд╛рдареНрдпрдХреНрд░рдо рдХрдИ-рд╕реЗ-рдХрдИ рд╣реИрдВред рдЖрдк рдкрд╛рдареНрдпрдХреНрд░рдо рд╕рдВрд╕реНрдерд╛рдУрдВ рдФрд░ рдЙрдирдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рднрд╛рдЧ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ рдЪрдпрдирд┐рдд рд╢рд┐рдХреНрд╖рдХ рдХреЗ рд▓рд┐рдП рдкрд╛рдареНрдпрдХреНрд░рдо рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрджрд╛рд╣рд░рдг рдЙрддреНрд╕реБрдХ рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред
- рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдХреЛрд░реНрд╕ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдирд╛рдорд╛рдВрдХрди рд╕рдВрд╕реНрдерд╛ рдХрд╛ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдкрд╛рдареНрдпрдХреНрд░рдо рдФрд░ рдирд╛рдорд╛рдВрдХрди рд╕рдВрд╕реНрдерд╛рдПрдВ рдПрдХ-рд╕реЗ-рдХрдИ рд╣реИрдВред рдЖрдк рдирд╛рдорд╛рдВрдХрди рдЗрдХрд╛рдИ рдФрд░ рдЙрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЫрд╛рддреНрд░ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд▓реЛрдбрд┐рдВрдЧ рдЬреЛрдбрд╝реЗрдВрдЧреЗред (рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдЪрд╛рд▓реВ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде, рд╕реНрдкрд╖реНрдЯ рд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдХреЗрд╡рд▓ рдпрд╣ рджрд┐рдЦрд╛рдПрдВрдЧреЗ рдХрд┐ рд▓реЛрдбрд┐рдВрдЧ рдХрд╛рд░реНрдп рдХрд┐рддрдирд╛ рд╕реНрдкрд╖реНрдЯ рд╣реИред)
рдЗрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЗрдВрдбреЗрдХреНрд╕ рд╡реНрдпреВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЗрдЬреЗрдВрдЯреЗрд╢рди рдореЙрдбрд▓ рдмрдирд╛рдирд╛рдЗрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЗрдВрдбреЗрдХреНрд╕ рдкреЗрдЬ рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЯреЗрдмрд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдкреНрд░рд╕реНрддреБрддрд┐ рдореЙрдбрд▓ рдмрдирд╛рдПрдВрдЧреЗ рдЬрд┐рд╕рдореЗрдВ рддреАрди рдЧреБрдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╣реИред
ViewModels рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ,
рдЕрдиреБрджреЗрд╢рдХ IndexData.cs рдмрдирд╛рдПрдБ:
using System; using System.Collections.Generic; using ContosoUniversity.Models; namespace ContosoUniversity.ViewModels { public class InstructorIndexData { public IEnumerable<Instructor> Instructors { get; set; } public IEnumerable<Course> Courses { get; set; } public IEnumerable<Enrollment> Enrollments { get; set; } } }
рдЪрдпрдирд┐рдд рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП рд╢реИрд▓рд┐рдпрд╛рдБ
рдЪрдпрдирд┐рдд рд╕реНрддрдВрднреЛрдВ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд░рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
рд╕рд╛рдордЧреНрд░реА \ рд╕рд╛рдЗрдЯ рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ
ред рд╕реАрдПрд╕рдПрд╕ :
.selectedrow { background-color: #EEEEEE; }
рдкреНрд░рд╢рд┐рдХреНрд╖рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рдФрд░ рд╡рд┐рдЪрд╛рд░ рдмрдирд╛рдирд╛
рдЗрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЬреИрд╕рд╛ рдХрдВрдЯреНрд░реЛрд▓рд░ рдмрдирд╛рдПрдВ:
рдирд┐рдпрдВрддреНрд░рдХреЛрдВ \ рдкреНрд░рд╢рд┐рдХреНрд╖рдХрдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВред ViewModels рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдЬреЛрдбрд╝реЗрдВ:
ContosoUniversity.ViewModels рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛;
рд╕реВрдЪрдХрд╛рдВрдХ рд╡рд┐рдзрд┐ рдореЗрдВ рдЙрддреНрдкрдиреНрди рдХреЛрдб рдХреЗрд╡рд▓ OfficeAssignment рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ:
public ViewResult Index() { var instructors = db.Instructors.Include(i => i.OfficeAssignment); return View(instructors.ToList()); }
рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рд╡рд┐рдзрд┐ рдХреЛ рдирд┐рдореНрди рдХреЛрдб рд╕реЗ рдмрджрд▓реЗрдВ, рдЬреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рджреГрд╢реНрдп рдореЙрдбрд▓ рдореЗрдВ рдбрд╛рд▓рддрд╛ рд╣реИ:
public ActionResult Index(Int32? id, Int32? courseID) { var viewModel = new InstructorIndexData(); viewModel.Instructors = db.Instructors .Include(i => i.OfficeAssignment) .Include(i => i.Courses.Select(c => c.Department)) .OrderBy(i => i.LastName); if (id != null) { ViewBag.InstructorID = id.Value; viewModel.Courses = viewModel.Instructors.Where(i => i.InstructorID == id.Value).Single().Courses; } if (courseID != null) { ViewBag.CourseID = courseID.Value; viewModel.Enrollments = viewModel.Courses.Where(x => x.CourseID == courseID).Single().Enrollments; } return View(viewModel); }
рд╡рд┐рдзрд┐ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреА рд╣реИ: рдЪрдпрдирд┐рдд рд╢рд┐рдХреНрд╖рдХ рдФрд░ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рдЖрдИрдбреА рдорд╛рди, рдФрд░ рдлрд┐рд░ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдЖрдИрдбреА рдкреГрд╖реНрда рдкрд░
рдЪреБрдирд┐рдВрджрд╛ рд▓рд┐рдВрдХ рд╕реЗ рдЖрддреА рд╣реИрдВред
рдкреНрд░реЗрдЬреЗрдВрдЯреЗрд╢рди рдореЙрдбрд▓ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдХрд░ рдФрд░ рдЙрд╕рдореЗрдВ рд╢рд┐рдХреНрд╖рдХреЛрдВ рдХреА рд╕реВрдЪреА рдкрд╛рд╕ рдХрд░рдХреЗ рдХреЛрдб рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ:
var viewModel = new InstructorIndexData(); viewModel.Instructors = db.Instructors .Include(i => i.OfficeAssignment); .Include(i => i.Courses.Select(c => c.Department)) .OrderBy(i => i.LastName);
рд╣рдо рдкреНрд░рд╢рд┐рдХреНрд╖рдХ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдХрд╛рд░реНрдпрд╛рд▓рдп рдФрд░ рдЕрдиреБрджреЗрд╢рдХред рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреА рдЦрд░реАрдж рдХрд░рддрд╛ рд╣реИред рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдХреЛрд░реНрд╕ рдЙрддреНрд╕реБрдХ рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреЛрд░реНрд╕ рдкрджреНрдзрддрд┐ рдореЗрдВ рдЪрдпрди рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрд░реНрд╕рдбрд┐рдкрд╛рд░реНрдЯрдореЗрдВрдЯ рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдо рдЕрдВрддрд┐рдо рдирд╛рдо рд╕реЗ рдХреНрд░рдордмрджреНрдз рд╣реИрдВред
рдпрджрд┐ рдПрдХ рд╢рд┐рдХреНрд╖рдХ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рд╢рд┐рдХреНрд╖рдХ рдХреЛ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдореЗрдВ рд╢рд┐рдХреНрд╖рдХреЛрдВ рдХреА рд╕реВрдЪреА рд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдкрд╛рдареНрдпрдХреНрд░рдо рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкрд╛рдареНрдпрдХреНрд░рдо рд╕рдВрд╕реНрдерд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╢рд┐рдХреНрд╖рдХ рдХреЗ рдЕрдиреБрд░реВрдк рд╕рдВрдкрддреНрддрд┐ рд╕реЗ рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
if (id != null) { ViewBag.InstructorID = id.Value; viewModel.Courses = viewModel.Instructors.Where(i => i.InstructorID == id.Value).Single().Courses; }
рдЬрд╣рд╛рдВ рд╡рд┐рдзрд┐ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд▓реМрдЯрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд┐рдзрд┐ рдХреЛ рджреА рдЧрдИ рд╢рд░реНрдд рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдХ рдЗрдХрд╛рдИ рд▓реМрдЯрд╛ рджреА рдЧрдИ рд╣реИред рдПрдХрд▓ рд╡рд┐рдзрд┐ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдХ рдЗрдХрд╛рдИ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреА рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЗрд╕ рдЗрдХрд╛рдИ рдХреЗ рдЕрдиреБрд░реВрдк рдкрд╛рдареНрдпрдХреНрд░рдо рд╕рдВрдкрддреНрддрд┐ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред
рдПрдХрд▓ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрдЧреНрд░рд╣ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдпрд╣ рдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдПрдХ рддрддреНрд╡ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛ред рдпрд╣ рд╡рд┐рдзрд┐ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдлреЗрдВрдХрддрд╛ рд╣реИ рдпрджрд┐ рд╕рдВрдЧреНрд░рд╣ рдЦрд╛рд▓реА рд╣реИ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рддрддреНрд╡ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рдХрд╛рд░рдг рдПрдХ рдЕрд╢рдХреНрдд рд╕рдВрджрд░реНрдн рдХреЗ рд╕рд╛рде рд╕рдВрдкрддреНрддрд┐)ред рдПрдХрд▓ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдПрдХ рдЕрд▓рдЧ рдХреЙрд▓ рдЯреВ рд╡реНрд╣реЗрдпрд░ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рд╕реНрд╡рдпрдВ рд╕реНрдерд┐рддрд┐ рдХреЛ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
.рд╕рд┐рдВрдЧрд▓ (i => i.InstructorID == id.Value)
рдмрдЬрд╛рдп:
.Where (I => i.InstructorID == id.Value) .Single ()
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдХреЛрдИ рдкрд╛рдареНрдпрдХреНрд░рдо рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкрд╛рдареНрдпрдХреНрд░рдо рдореЙрдбрд▓ рдореЗрдВ рдкрд╛рдареНрдпрдХреНрд░рдореЛрдВ рдХреА рд╕реВрдЪреА рд╕реЗ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рдПрдирд░реЛрд▓рдореЗрдВрдЯреНрд╕ рдореЙрдбрд▓ рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рдПрдирд░реЛрд▓рдореЗрдВрдЯреНрд╕ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдкреНрд░реЙрдкрд░реНрдЯреА рдПрдВрдЯрд┐рдЯреАрдЬрд╝ рджреНрд╡рд╛рд░рд╛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
if (courseID != null) { ViewBag.CourseID = courseID.Value; viewModel.Enrollments = viewModel.Courses.Where(x => x.CourseID == courseID).Single().Enrollments; }
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдореЙрдбрд▓ рдкрд░ рд▓реМрдЯреЗрдВ:
рд╡рд╛рдкрд╕реА рджреЗрдЦреЗрдВ (viewModel);
рдкреНрд░рд╢рд┐рдХреНрд╖рдХ рд╕реВрдЪрдХрд╛рдВрдХ рджреГрд╢реНрдп рдХрд╛ рд╕рдВрдкрд╛рджрдирджреГрд╢реНрдп \ рдкреНрд░рд╢рд┐рдХреНрд╖рдХ \ Index.cshtml рдореЗрдВ, рдХреЛрдб рдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ:
@model ContosoUniversity.ViewModels.InstructorIndexData @{ ViewBag.Title = "Instructors"; } <h2>Instructors</h2> <p> @Html.ActionLink("Create New", "Create") </p> <table> <tr> <th></th> <th>Last Name</th> <th>First Name</th> <th>Hire Date</th> <th>Office</th> </tr> @foreach (var item in Model.Instructors) { string selectedRow = ""; if (item.InstructorID == ViewBag.InstructorID) { selectedRow = "selectedrow"; } <tr class="@selectedRow" valign="top"> <td> @Html.ActionLink("Select", "Index", new { id = item.InstructorID }) | @Html.ActionLink("Edit", "Edit", new { id = item.InstructorID }) | @Html.ActionLink("Details", "Details", new { id = item.InstructorID }) | @Html.ActionLink("Delete", "Delete", new { id = item.InstructorID }) </td> <td> @item.LastName </td> <td> @item.FirstMidName </td> <td> @String.Format("{0:d}", item.HireDate) </td> <td> @if (item.OfficeAssignment != null) { @item.OfficeAssignment.Location } </td> </tr> } </table>
рдкрд░рд┐рд╡рд░реНрддрди:
- рдкреГрд╖реНрда рдХрд╛ рд╢реАрд░реНрд╖рдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдХреЛрдВ рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ред
- рдкрдВрдХреНрддрд┐ рд▓рд┐рдВрдХ рдХреЙрд▓рдо рдХреЛ рдмрд╛рдИрдВ рдУрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛ред
- FullName рдХреЙрд▓рдо рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ред
- рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдХрд╛рд░реНрдпрд╛рд▓рдп рд╕реНрддрдВрдн рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЖрдЗрдЯрдо редfficeAssignment.Location рдпрджрд┐ рдЖрдЗрдЯрдо редfficeAssignment рд╢реВрдиреНрдп рдирд╣реАрдВ рд╣реИред (рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдПрдХ-рд╕реЗ-рд╢реВрдиреНрдп рдпрд╛ рдПрдХ рд╕рдВрдмрдВрдз рд╣реИ, рдХреЛрдИ OfficeAssignment рдирд┐рдХрд╛рдп рдПрдХ рдЗрдХрд╛рдИ рд╕реЗ рд╕рдВрдмрджреНрдз рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред)
<td> @if (item.OfficeAssignment != null) { @item.OfficeAssignment.Location } </td>
- рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдХреЛрдб рдЬреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЪрдпрдирд┐рдд рд╢рд┐рдХреНрд╖рдХ рдХреЗ tr рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╡рд░реНрдЧ = "рдЪрдпрдирд┐рдд" рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рд╣рдо CSS рдХреНрд▓рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдХрд▓рд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред (рдЬрдм рд╣рдо рдПрдХ рдмрд╣реБ-рдкрдВрдХреНрддрд┐ рд╕реНрддрдВрдн рдХреЛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдпрд╣ рдорд╛рди рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛)
string selectedRow = ""; if (item.InstructorID == ViewBag.InstructorID) { selectedRow = "selectedrow"; } <tr class="@selectedRow" valign="top">
- рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рдордиреЗ рдПрдХ рдирдпрд╛ рдПрдХреНрд╢рдирд▓рд┐рдВрдХ рдЪрдпрди рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЪрдпрдирд┐рдд рд╢рд┐рдХреНрд╖рдХ рдХреА рдЖрдИрдбреА рдХреЛ рдЗрдВрдбреЗрдХреНрд╕ рд╡рд┐рдзрд┐ рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рд╢рд┐рдХреНрд╖рдХреЛрдВ рдХреА рд╕реВрдЪреА рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪрд▓рд╛рдПрдБред рдпрджрд┐ OfficeAssignment рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рдХрд╛рдп рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдкреГрд╖реНрда OfficeAssignment рдирд┐рдХрд╛рдп рдФрд░ рд░рд┐рдХреНрдд рдХрдХреНрд╖ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрдерд╛рди рдЧреБрдг рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
рджреГрд╢реНрдп \ рдкреНрд░рд╢рд┐рдХреНрд╖рдХреЛрдВ \ рд╕реВрдЪрдХрд╛рдВрдХ рдореЗрдВ ред рдЯреЗрдмрд▓ рдХрдВрдЯреЗрдирд░ рдХреЗ рдмрд╛рдж
cshtml рдХреЛрдб рдЪрдпрдирд┐рдд рд╢рд┐рдХреНрд╖рдХ рдХреЗ рдкрд╛рдареНрдпрдХреНрд░рдореЛрдВ рдХреА рд╕реВрдЪреА рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИред
@if (Model.Courses != null) { <h3>Courses Taught by Selected Instructor</h3> <table> <tr> <th></th> <th>ID</th> <th>Title</th> <th>Department</th> </tr> @foreach (var item in Model.Courses) { string selectedRow = ""; if (item.CourseID == ViewBag.CourseID) { selectedRow = "selectedrow"; } <tr class="@selectedRow"> <td> @Html.ActionLink("Select", "Index", new { courseID = item.CourseID }) </td> <td> @item.CourseID </td> <td> @item.Title </td> <td> @item.Department.Name </td> </tr> } </table> }
рдкрд╛рдареНрдпрдХреНрд░рдо рдкрд╛рдареНрдпрдХреНрд░рдореЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдареНрдпрдХреНрд░рдо рджреГрд╢реНрдп рдореЙрдбрд▓ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдЪрдпрди рд▓рд┐рдВрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрдпрдирд┐рдд рдкрд╛рдареНрдпрдХреНрд░рдо рдХреА рдЖрдИрдбреА рдХреЛ рдЗрдВрдбреЗрдХреНрд╕ рд╡рд┐рдзрд┐ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рд╢рд┐рдХреНрд╖рдХ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдФрд░ рдЖрдкрдХреЛ рдЗрд╕ рд╢рд┐рдХреНрд╖рдХ рдХреЗ рдкрд╛рдареНрдпрдХреНрд░рдо рдФрд░ рд╕рдВрдХрд╛рдпреЛрдВ рдХреЗ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдЪрдпрдирд┐рдд рд░реЗрдЦрд╛ рд░рдВрдЧ рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИ, рддреЛ рдкреГрд╖реНрда рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░реЗрдВ, рдХрднреА-рдХрднреА .css рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЬреЛрдбрд╝реЗ рдЧрдП рдХреЛрдб рдХреЗ рдмрд╛рдж, рдПрдХ рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдЪрдпрдирд┐рдд рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рдЫрд╛рддреНрд░реЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
@if (Model.Enrollments != null) { <h3> Students Enrolled in Selected Course</h3> <table> <tr> <th>Name</th> <th>Grade</th> </tr> @foreach (var item in Model.Enrollments) { <tr> <td> @item.Student.FullName </td> <td> @item.Grade </td> </tr> } </table> }
рдХреЛрдб рдЪрдпрдирд┐рдд рдЫрд╛рддреНрд░ рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рдЫрд╛рддреНрд░реЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╛рдорд╛рдВрдХрди рджреГрд╢реНрдп рдореЙрдбрд▓ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред
рдПрдХ рд╢рд┐рдХреНрд╖рдХ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдЫрд╛рддреНрд░реЛрдВ рдФрд░ рдЙрдирдХреЗ рдЧреНрд░реЗрдб рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рдареНрдпрдХреНрд░рдо рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рд╕реНрдкрд╖реНрдЯ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИрдЗрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░рдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ ред рд╕реАрдПрд╕ рдФрд░ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрдВрдбреЗрдХреНрд╕ рд╡рд┐рдзрд┐ рдЪрдпрдирд┐рдд рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рдЫрд╛рддреНрд░реЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдХреИрд╕реЗ рд▓реЛрдб рдХрд░рддреА рд╣реИ:
if (courseID != null) { ViewBag.CourseID = courseID.Value; viewModel.Enrollments = viewModel.Courses.Where(x => x.CourseID == courseID).Single().Enrollments; }
рд╢рд┐рдХреНрд╖рдХреЛрдВ рдХреА рд╕реВрдЪреА рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдиреЗ рдкрд╛рдареНрдпрдХреНрд░рдо рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╕рдВрдкрддреНрддрд┐ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рднрд╛рдЧ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреА рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд┐рдпрд╛, рдлрд┐рд░ рдкрд╛рдареНрдпрдХреНрд░рдо рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдкреНрд░рд╕реНрддреБрддрд┐ рдореЙрдбрд▓ рдореЗрдВ рднреЗрдЬрд╛, рдФрд░ рдЕрдм рдЗрд╕ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рд╕рдВрд╕реНрдерд╛ рд╕реЗ рдирд╛рдорд╛рдВрдХрди рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╕рдВрдкрддреНрддрд┐ рд▓реЛрдб рдХрд░реЗрдВред рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдЖрдкрдиреЗ рдХреЛрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдирд╛рдорд╛рдВрдХрди рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╕рдВрдкрддреНрддрд┐, рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдбреЗрдЯрд╛ рдкреГрд╖реНрда рдкрд░ рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдПрдирд░реЛрд▓рдореЗрдВрдЯ рдкреНрд░реЙрдкрд░реНрдЯреА рдЗрд╕ рдХреЛрд░реНрд╕ рдореЗрдВ рдХрд┐рддрдиреЗ рдЫрд╛рддреНрд░ рд╣реИрдВ, рдЗрд╕рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рд╢реВрдиреНрдп рд╣реЛ рдЬрд╛рдПрдЧреАред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдирд░реЛрд▓рдореЗрдВрдЯреНрд╕ рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд▓реЛрдбрд┐рдВрдЧ рдпрд╛ рд╕реНрдкрд╖реНрдЯ рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реНрдкрд╖реНрдЯ рд▓реЛрдбрд┐рдВрдЧ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрдВрдбреЗрдХреНрд╕ рд╡рд┐рдзрд┐ рдХреЛрдб рдХреЛ рдирд┐рдореНрди рд╕реЗ рдмрджрд▓реЗрдВ:
public ActionResult Index(Int32? id, Int32? courseID) { var viewModel = new InstructorIndexData(); viewModel.Instructors = db.Instructors .Include(i => i.OfficeAssignment) .Include(i => i.Courses.Select(c => c.Department)) .OrderBy(i => i.LastName); if (id != null) { ViewBag.InstructorID = id.Value; viewModel.Courses = viewModel.Instructors.Where(i => i.InstructorID == id.Value).Single().Courses; } if (courseID != null) { ViewBag.CourseID = courseID.Value; var selectedCourse = viewModel.Courses.Where(x => x.CourseID == courseID).Single(); db.Entry(selectedCourse).Collection(x => x.Enrollments).Load(); foreach (Enrollment enrollment in selectedCourse.Enrollments) { db.Entry(enrollment).Reference(x => x.Student).Load(); } viewModel.Enrollments = viewModel.Courses.Where(x => x.CourseID == courseID).Single().Enrollments; } return View(viewModel); }
рдЪрдпрдирд┐рдд рдХреЛрд░реНрд╕ рдЗрдХрд╛рдИ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдирдпрд╛ рдХреЛрдб рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╛рдорд╛рдВрдХрди рдЧреБрдгреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ:
db.Entry (рдЪрдпрдирд┐рддрдХреЛрд░реНрд╕) .Collection (x => x.Enrollments) .Lad ();
рддрдм рдЫрд╛рддреНрд░ рд╕рдВрд╕реНрдерд╛рдПрдБ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рднрд░реА рд╣реБрдИ рд╣реИрдВ:
db.Entry (рдирд╛рдорд╛рдВрдХрди) .Reference (x => x.Student) .Load ();
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдк рд╕рдВрдЧреНрд░рд╣ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧреНрд░рд╣ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ-рддрддреНрд╡ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕рдВрджрд░реНрдн рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЕрдм рдЖрдк рдЗрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЗрдВрдбреЗрдХреНрд╕ рдкреЗрдЬ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ - рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдмрджрд▓ рдЧрдпрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдЖрдкрдиреЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЧреБрдгреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд╕рднреА рддреАрди рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЕрдЧрд▓реЗ рдкрд╛рда рдореЗрдВ, рдЖрдк рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдзрдиреНрдпрд╡рд╛рдж
рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рдмреЗрд▓реЛрдЯреЗрд░реНрд╕рдХреЛрд╡рд╕реНрдХреА (
рдПрд╣рд░рд┐рдорди ) рдХреЗ рдЕрдиреБрд╡рд╛рдж рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред