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

рд╕рдорд╡рд░реНрддреА рдкрд╣реБрдВрдЪ рд╕рдВрдШрд░реНрд╖рдЬрдм рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЖрдЧреЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдПрдХ рд╕рд╛рде рдПрдХреНрд╕реЗрд╕ рд╕рдВрдШрд░реНрд╖ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╕рд╣реЗрдЬреЗ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рдЙрд╕реА рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдИрдПрдл рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрдШрд░реНрд╖реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЕрдВрддрд┐рдо рдкрд╣рд▓реЗ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджреЗрдЧрд╛ред рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, рдЬреЛрдЦрд┐рдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ: рдпрджрд┐ рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ, рдпрд╛ рдХрдИ рдЕрдкрдбреЗрдЯ рд╣реИрдВ, рдпрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕рдорд╡рд░реНрддреА-рдЙрдиреНрдореБрдЦ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рд▓рд╛рдЧрдд рдЗрд╕рдХреЗ рд▓рд╛рдн рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдЧреАред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред
рдирд┐рд░рд╛рд╢рд╛рд╡рд╛рджреА рд╕рдВрдЧрд░реЛрдз (рд▓реЙрдХрд┐рдВрдЧ)рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдПрдХ рд╕рд╛рде рдПрдХреНрд╕реЗрд╕ рд╕рдВрдШрд░реНрд╖реЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЖрдХрд╕реНрдорд┐рдХ рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рдХреЛ рд░реЛрдХрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рд▓реЙрдХ рдХрд░рдирд╛ рд╣реИред рдЗрд╕реЗ рдирд┐рд░рд╛рд╢рд╛рд╡рд╛рджреА
рд╕рдВрдЧрд░реЛрдз рдХрд╣рд╛ рдЬрд╛рддрд╛
рд╣реИ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд░рд┐рдХреЙрд░реНрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк рд░реАрдб-рдУрдирд▓реА рдпрд╛ рдЕрдкрдбреЗрдЯ рдПрдХреНрд╕реЗрд╕ рдкрд░ рддрд╛рд▓рд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣реБрдБрдЪ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдИ рднреА рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ рдПрдХреНрд╕реЗрд╕ рдмрджрд▓рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдбреЗрдЯрд╛ рдХреА рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣реБрдБрдЪ рд▓рд┐рдЦрдиреЗ рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВ, рддреЛ рдЕрдиреНрдп рдЗрд╕реЗ рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣реБрдБрдЪ рдкрд░ рднреА рд▓реЙрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВред
рд▓реЙрдХ рдкреНрд░рдмрдВрдзрди рдХреА рдЕрдкрдиреА рдХрдорд┐рдпрд╛рдВ рд╣реИрдВред рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рддрд╛рд▓реЗ рдХреЛ рдЧрдВрднреАрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рдиреЗ рдХреЗ рд╕рд╛рде рд╣реА рдбрд╛рдЙрдирд▓реЛрдб рдУрд╡рд░рд╣реЗрдбреНрд╕ рдмрдврд╝ рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рд╕рднреА DBMS рдирд┐рд░рд╛рд╢рд╛рд╡рд╛рджреА рд╕рдВрдЧрд░реЛрдз рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рдирд┐рд░рд╛рд╢рд╛рд╡рд╛рджреА рд╕рдВрдЧрд░реЛрдз рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдЗрд╕ рдкрд╛рда рдореЗрдВ рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред
рдЖрд╢рд╛рд╡рд╛рджреА рд╕рдВрдЧрддрд┐рдирд┐рд░рд╛рд╢рд╛рд╡рд╛рджреА рд╕рдВрдЧрд╛рдорд┐рддрд┐ рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк
рдЖрд╢рд╛рд╡рд╛рджреА рд╕рдВрдЧреЛрд╖реНрдареА рд╣реИ ред рдЖрд╢рд╛рд╡рд╛рджреА рд╕рдВрдЧрд╛рдорд┐рддрд┐ рд╕рдорд╡рд░реНрддреА рдкрд╣реБрдБрдЪ рд╕рдВрдШрд░реНрд╖ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреЙрди рдиреЗ рдбрд┐рдкрд╛рд░реНрдЯрдореЗрдВрдЯреНрд╕ рдПрдбрд┐рдЯ рдкреЗрдЬ рдХреЛ рдЦреЛрд▓рд╛, рдЕрдВрдЧреНрд░реЗрдЬреА рд╢рд╛рдЦрд╛ рдХреЗ рд▓рд┐рдП
рдмрдЬрдЯ рдореВрд▓реНрдп рдХреЛ $ 350,000.00 рд╕реЗ $ 100,000.00 рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ред

рдЬреЙрди рд╕рд╣реЗрдЬреЗрдВ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЬреЗрди рдПрдХ рд╣реА рдкреГрд╖реНрда рдЦреЛрд▓рддрд╛ рд╣реИ рдФрд░
рдкреНрд░рд╛рд░рдВрдн рджрд┐рдирд╛рдВрдХ рдорд╛рди рдХреЛ 1/1/1999 рдореЗрдВ рдмрджрд▓рддрд╛ рд╣реИред

рдЬреЙрди рдкрд╣рд▓реЗ
рд╕реЗрд╡ рдмрдЯрди рдХреЛ рдзрдХреНрдХрд╛ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЕрдкрдиреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ, рдФрд░ рдЙрд╕реА рдХреНрд╖рдг рдЬреЗрди рдмрдЯрди рджрдмрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВ, рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рдЖрдк рдПрдХ рд░рд┐рдХреЙрд░реНрдб рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реА рд╕рдВрдкрддреНрддрд┐ рд╕рдВрдкрд╛рджрд┐рдд рдХреА рдЧрдИ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдХреЙрд▓рдо рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдбреЗрдЯрд╛ рдЦреЛ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд┐рдиреНрди рдЧреБрдгреЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдЧрд▓реА рдмрд╛рд░, рдЕрдВрдЧреНрд░реЗрдЬреА рд╢рд╛рдЦрд╛ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рджреЗрдЦрдиреЗ рдкрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЙрди рдФрд░ рдЬреЗрди рджреЛрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред
рдпрд╣ рд╡рд┐рдзрд┐ рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдЗрдХрд╛рдИ рдХреА рдПрдХрд▓ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢рд╛рдпрдж рд╣реА рдХрднреА рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдкреБрд░рд╛рдиреЗ рдФрд░ рдирдП рд╕рдВрдкрддреНрддрд┐ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
- рдЖрдк рдЬреЙрди рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЗрди рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдлрд┐рд░ рдЕрдЧрд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ 1/1/1999 рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдФрд░ рдкреБрд░рд╛рдирд╛ рдореВрд▓реНрдп $ 350,000.00 рд╣реИред рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдЬреАрдд рдпрд╛ рдЕрдВрддрд┐рдо рдореЗрдВ рдЬреАрдд рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣реЛрддрд╛ рд╣реИред
- рдЖрдк рдЬреЗрди рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХреЗрдВ, рдбреЗрдЯрд╛ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рджрд┐рдЦрд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдкреГрд╖реНрда рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рджреЗрдВ рдФрд░ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рджрд░реНрдЬ рдХрд░реЗрдВред рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕реНрдЯреЛрд░ рдЬреАрдд рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдЦреЛ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рд╕рд╛рде рдПрдХреНрд╕реЗрд╕ рд╕рдВрдШрд░реНрд╖ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдордп рдкрд░ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдорд╡рд░реНрддреА рдкрд╣реБрдБрдЪ рд╕рдВрдШрд░реНрд╖ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗрдЖрдк рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдШрд░реНрд╖ рдХреЛ рдИрдПрдл рджреНрд╡рд╛рд░рд╛ рдлреЗрдВрдХреЗ рдЧрдП рдСрдкреНрдЯрд┐рдорд┐рд╕реНрдЯрд┐рдХрдХреЙрдирдПрдЬреЗрдВрд╕реА рдЕрдкрд╡рд╛рдж рдХреЛ рд╕рдВрднрд╛рд▓рдХрд░ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдЕрдкрд╡рд╛рдж рдХреЛ рдХрдм рдлреЗрдВрдХрдирд╛ рд╣реИ, рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рдИрдПрдл рдХреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕рдВрдШрд░реНрд╖ рдХрдм рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдХреЛ рдареАрдХ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдк рдЗрд╕ рд╕реЗрдЯрдЕрдк рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ, "рдЯреНрд░реИрдХрд┐рдВрдЧ" рдХреЙрд▓рдо рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд░рд┐рдХреЙрд░реНрдб рдХрдм рдмрджрд▓ рдЧрдпрд╛ред рдлрд┐рд░ рдЖрдк рдЗрд╕ рдХреЙрд▓рдо рдХреЛ рдЕрдкрдбреЗрдЯ рдпрд╛ рдбрд┐рд▓реАрдЯ рдХреНрд╡реЗрд░реА рдХреЗ рдЬрд╣рд╛рдБ рдХреНрд▓реЙрдЬрд╝ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕ рд╕реНрддрдВрдн рдХрд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рддрд╛рд░реАрдЦ рдпрд╛ рд╕рдордп рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореВрд▓реНрдп рд╣рд░ рдмрд╛рд░ рдбреЗрдЯрд╛ рдЕрдкрдбреЗрдЯ рд╣реЛрдиреЗ рдкрд░ рдПрдХ рдЕрдВрдХ рдмрдврд╝рдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддрд╛ рд╣реИ (рд╕рдорд╛рди рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ SQL рд╕рд░реНрд╡рд░ рдХреЗ рд╣рд╛рд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд░реЛрд╡рд░рд╡рд░реНрдЬрди рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред рдЕрдкрдбреЗрдЯ рдпрд╛ рдбрд┐рд▓реАрдЯ рдХреНрд╡реЗрд░реАрдЬрд╝ рдореЗрдВ, рдЬрд╣рд╛рдБ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ "рдЯреНрд░реИрдХрд┐рдВрдЧ" рдХреЙрд▓рдо рдХрд╛ рдореВрд▓ рдореВрд▓реНрдп рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрджрд┐ рдЕрдкрдбреЗрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдХреЙрд▓рдо рдХрд╛ рдореВрд▓реНрдп рдореВрд▓ рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдФрд░ рдбрд┐рд▓реАрдЯ рдХреНрд╡реЗрд░реАрдЬрд╝ рдЗрд╕ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдирд╣реАрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рдИрдПрдл рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдЕрдкрдбреЗрдЯ рдпрд╛ рдбрд┐рд▓реАрдЯ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЗрд╕реЗ рд╕рдорд╡рд░реНрддреА рдПрдХреНрд╕реЗрд╕ рд╕рдВрдШрд░реНрд╖ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реИред
- рдЕрджреНрдпрддрди рдФрд░ рд╣рдЯрд╛рдПрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдХрдерди рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрдВрдн рдХреЗ рд╕реНрд░реЛрдд рдбреЗрдЯрд╛ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП EF рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред
рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдпрджрд┐ рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд╣рд╛рдВ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рд░рд┐рдХреЙрд░реНрдб рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕реЗ рдИрдПрдл рдПрдХ рд╕рдВрдШрд░реНрд╖ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрднрд╡ рдХрд░реЗрдЧрд╛ред рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдЕрдиреБрд╡рд░реНрддреА рдХреЙрд▓рдо рд╡рд┐рдХрд▓реНрдк рдЬрд┐рддрдирд╛ рд╣реА рдкреНрд░рднрд╛рд╡реА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рдХрдИ рд╕реНрддрдВрднреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╣реИ, рддреЛ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрдерди рдФрд░ рдбреЗрдЯрд╛ рдФрд░ рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рдмрдбрд╝реЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВ рд╣реИред
рдЗрд╕ рдкрд╛рда рдореЗрдВ, рд╣рдо рд╡рд┐рднрд╛рдЧ рдЗрдХрд╛рдИ рдореЗрдВ рдПрдХ "рдЯреНрд░реИрдХрд┐рдВрдЧ" рдХреЙрд▓рдо рдЬреЛрдбрд╝реЗрдВрдЧреЗ, рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рдФрд░ рд╡рд┐рдЪрд╛рд░ рдмрдирд╛рдПрдВрдЧреЗ рдФрд░ рдПрдХ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВрдЧреЗред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдк "рдЯреНрд░реИрдХрд┐рдВрдЧ" рдХреЙрд▓рдо рдХреЗ рдмрд┐рдирд╛ рд╕рдорд╛рдирддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕рднреА рдЧреИрд░-рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ ConcurrencyCheck рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, EF рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рд╕рднреА рдХреЙрд▓рдо рдЕрдкрдбреЗрдЯ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ
рдбрд┐рдкрд╛рд░реНрдЯрдореЗрдВрдЯ рдПрдВрдЯрд┐рдЯреА рдореЗрдВ рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЙрд▓рдо рдЬреЛрдбрд╝рдирд╛рдореЙрдбрд▓ \ рд╡рд┐рднрд╛рдЧ рдореЗрдВ ред рд╕реАрдПрд╕ рдПрдХ "рдЯреНрд░реИрдХрд┐рдВрдЧ" рдХреЙрд▓рдо рдЬреЛрдбрд╝реЗрдВ:
[Timestamp] public Byte[] Timestamp { get; set; }
рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдпрд╣ рдХреЙрд▓рдо рдЕрдкрдбреЗрдЯ рдФрд░ рдбрд┐рд▓реАрдЯ рдХреНрд╡реЗрд░реАрдЬрд╝ рдХреЗ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдирд┐рдпрдВрддреНрд░рдХ рдирд┐рд░реНрдорд╛рдгрдПрдХ рд╡рд┐рднрд╛рдЧ рдирд┐рдпрдВрддреНрд░рдХ рдФрд░ рд╡рд┐рдЪрд╛рд░ рдмрдирд╛рдПрдБ:
рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдореЗрдВ \ DepartmentController.cs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреЛрдбрд╝реЗрдВ:
System.Data.Entity.Infrastructure рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛;
рд╕рдВрдкреВрд░реНрдг рдлрд╝рд╛рдЗрд▓ (рдЪрд╛рд░ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ) рдореЗрдВ LastName рдХреЛ FullName рдореЗрдВ рдмрджрд▓реЗрдВ рддрд╛рдХрд┐ рдЕрдВрддрд┐рдо рдирд╛рдо рдХреЗ рдмрдЬрд╛рдп рдкреВрд░рд╛ рдирд╛рдо рд╕рдВрдХрд╛рдп рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХреЛрдВ рдХреА рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛред
HttpPost рдПрдбрд┐рдЯ рд╡рд┐рдзрд┐ рдХреЛрдб рдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ:
[HttpPost] public ActionResult Edit(Department department) { try { if (ModelState.IsValid) { db.Entry(department).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } } catch (DbUpdateConcurrencyException ex) { var entry = ex.Entries.Single(); var databaseValues = (Department)entry.GetDatabaseValues().ToObject(); var clientValues = (Department)entry.Entity; if (databaseValues.Name != clientValues.Name) ModelState.AddModelError("Name", "Current value: " + databaseValues.Name); if (databaseValues.Budget != clientValues.Budget) ModelState.AddModelError("Budget", "Current value: " + String.Format("{0:c}", databaseValues.Budget)); if (databaseValues.StartDate != clientValues.StartDate) ModelState.AddModelError("StartDate", "Current value: " + String.Format("{0:d}", databaseValues.StartDate)); if (databaseValues.InstructorID != clientValues.InstructorID) ModelState.AddModelError("InstructorID", "Current value: " + db.Instructors.Find(databaseValues.InstructorID).FullName); ModelState.AddModelError(string.Empty, "The record you attempted to edit " + "was modified by another user after you got the original value. The " + "edit operation was canceled and the current values in the database " + "have been displayed. If you still want to edit this record, click " + "the Save button again. Otherwise click the Back to List hyperlink."); department.Timestamp = databaseValues.Timestamp; } catch (DataException) { //Log the error (add a variable name after Exception) ModelState.AddModelError(string.Empty, "Unable to save changes. Try again, and if the problem persists contact your system administrator."); } ViewBag.InstructorID = new SelectList(db.Instructors, "InstructorID", "FullName", department.InstructorID); return View(department); }
рджреГрд╢реНрдп рдПрдХ рдЫрд┐рдкреЗ рд╣реБрдП рдХреНрд╖реЗрддреНрд░ рдореЗрдВ "рдЯреНрд░реИрдХрд┐рдВрдЧ" рдХреЙрд▓рдо рдХреЗ рдореВрд▓ рдореВрд▓реНрдп рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╡рд┐рднрд╛рдЧ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддреЗ рд╕рдордп, рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдХреЛрдИ рдорд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдлрд┐рд░, EF рдЕрдкрдбреЗрдЯ рдЕрдиреБрд░реЛрдз рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдиреБрд░реЛрдз рдореЗрдВ рдореВрд▓ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдорд╛рди рдХреЗ рд╕рд╛рде рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╡рд░рдг рдХрд╣рд╛рдВ рд╣реЛрдЧрд╛ред
рдпрджрд┐ рдЕрдкрдбреЗрдЯ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдХреЛрдИ рд░рд┐рдХреЙрд░реНрдб рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ EF рдПрдХ DbUpdateConcurrencyException рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХ рджреЗрдЧрд╛, рдФрд░ рдХреИрдЪ рдмреНрд▓реЙрдХ рдореЗрдВ рдХреЛрдб рдЕрдкрд╡рд╛рдж рд╕реЗ рдЬреБрдбрд╝реА рд╡рд┐рднрд╛рдЧ рдХреА рдЗрдХрд╛рдИ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧрд╛ред рдЗрд╕ рдЗрдХрд╛рдИ рдХреЗ рдореВрд▓ рдФрд░ рдирдП рд╕рдВрдкрддреНрддрд┐ рдореВрд▓реНрдп рд╣реИрдВ:
var entry = ex.Entries.Single(); var databaseValues = (Department)entry.GetDatabaseValues().ToObject(); var clientValues = (Department)entry.Entity;
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЛрдб рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдореВрд▓реНрдпреЛрдВ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдкрд╛рджрд┐рдд рдкреГрд╖реНрда рдкрд░ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ:
if (databaseValues.Name != currentValues.Name) ModelState.AddModelError("Name", "Current value: " + databaseValues.Name);
рддреНрд░реБрдЯрд┐ рдкрд░, рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ:
ModelState.AddModelError(string.Empty, + + + + );
рдЕрдВрдд рдореЗрдВ, рдХреЛрдб рд╡рд┐рднрд╛рдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдирдП рдореВрд▓реНрдп рдкрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдЬрдм рд╕рдВрдкрд╛рджрди рдкреГрд╖реНрда рддрд╛рдЬрд╝рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдирдпрд╛ рдорд╛рди рдПрдХ рдЫрд┐рдкреЗ рд╣реБрдП рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдЖрдк рд╕рд╣реЗрдЬреЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВрдЧреЗ, рддреЛ рдХреЗрд╡рд▓ рдкреГрд╖реНрда рдкрд░ рдкреБрдирдГ рд▓реЛрдб рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЙрди рд╕рдВрдЧрдгрдХреАрдп рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред
рджреГрд╢реНрдп \ рд╡рд┐рднрд╛рдЧ \ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдореЗрдВ ред Cshtml рд╡рд┐рднрд╛рдЧ рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЫрд┐рдкреЗ рд╣реБрдП рдХреНрд╖реЗрддреНрд░ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж, рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдорд╛рди рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫрд┐рдкрд╛ рд╣реБрдЖ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝реЗрдВ:
Html .HiddenFor (рдореЙрдбрд▓ => model.Timestamp)
рджреГрд╢реНрдп \ рд╡рд┐рднрд╛рдЧ \ рд╕реВрдЪрдХрд╛рдВрдХ рдореЗрдВ ред cshtml рдХреЛрдб рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рдмрд╛рдИрдВ рдУрд░ рд╢рд┐рдлреНрдЯ рдХрд░рдиреЗ рдФрд░ рдкреЗрдЬ рд╣реЗрдбрд░ рдФрд░ рдХреЙрд▓рдо рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП:
@model IEnumerable<ContosoUniversity.Models.Department> @{ ViewBag.Title = "Departments"; } <h2>Departments</h2> <p> @Html.ActionLink("Create New", "Create") </p> <table> <tr> <th></th> <th>Name</th> <th>Budget</th> <th>Start Date</th> <th>Administrator</th> </tr> @foreach (var item in Model) { <tr> <td> @Html.ActionLink("Edit", "Edit", new { id=item.DepartmentID }) | @Html.ActionLink("Details", "Details", new { id=item.DepartmentID }) | @Html.ActionLink("Delete", "Delete", new { id=item.DepartmentID }) </td> <td> @Html.DisplayFor(modelItem => item.Name) </td> <td> @Html.DisplayFor(modelItem => item.Budget) </td> <td> @Html.DisplayFor(modelItem => item.StartDate) </td> <td> @Html.DisplayFor(modelItem => item.Administrator.FullName) </td> </tr> } </table>
рдкрд░реАрдХреНрд╖рдг рдЕрдиреБрдХреВрд▓рди рдЖрд╢рд╛рд╡рд╛рджреА
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪрд▓рд╛рдПрдВ рдФрд░
рд╡рд┐рднрд╛рдЧреЛрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:
рдПрдбрд┐рдЯ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рджреВрд╕рд░реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдПрдХ рдФрд░ рдПрдбрд┐рдЯ рдкреЗрдЬ рдЦреЛрд▓реЗрдВред рд╡рд┐рдВрдбреЛрдЬ рдХреЛ рд╕рдорд╛рди рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

рдкрд╣рд▓реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдлрд╝реАрд▓реНрдб рдмрджрд▓реЗрдВ рдФрд░
рд╕рд╣реЗрдЬреЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ ред

рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЗрдВрдбреЗрдХреНрд╕ рдкреЗрдЬ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред

рджреВрд╕рд░реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдПрдХ рд╣реА рдлрд╝реАрд▓реНрдб рдХреЛ рдЕрд▓рдЧ рдорд╛рди рдореЗрдВ рдмрджрд▓реЗрдВред

рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП
рд╕рд╣реЗрдЬреЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ :
![clip_image002 [1] clip_image002[1]](https://habrastorage.org/getpro/habr/post_images/8c9/339/fc3/8c9339fc311b0478b66f5fbaf0e69a7b.png)
рдлрд┐рд░ рд╕реЗ
рд╕рд╣реЗрдЬреЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ ред рджреВрд╕рд░реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдорд╛рди рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдЗрдВрдбреЗрдХреНрд╕ рдкреЗрдЬ рдкрд░ рджрд┐рдЦрд╛рдИ рджрд┐рдПред
рдбрд┐рд▓реАрдЯ рдкреЗрдЬ рдЬреЛрдбрд╝рдирд╛рдбрд┐рд▓реАрдЯ рдкреЗрдЬ рдХреЗ рд▓рд┐рдП, рд╕рдорд╕рд╛рдордпрд┐рдХ рдореБрджреНрджреЛрдВ рдХреЛ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рд╣реИрдВрдбрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдкреБрд╖реНрдЯрд┐ рд╡рд┐рдВрдбреЛ HttpGet Delete рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рджреГрд╢реНрдп рдореЗрдВ рдЫрд┐рдкреЗ рд╣реБрдП рдлрд╝реАрд▓реНрдб рдореЗрдВ рдореВрд▓ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдорд╛рди рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдорд╛рди HttpPost Delete рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЬрд┐рд╕реЗ рддрдм рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд┐рд▓реЛрдкрди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИред рдЬрдм EF рдПрдХ Delete рдЕрдиреБрд░реЛрдз рдмрдирд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдореВрд▓ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдорд╛рди рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╡рд░рдг рдХрд╣рд╛рдБ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЕрдиреБрд░реЛрдз рдХреБрдЫ рднреА рдирд╣реАрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдкреБрд╖реНрдЯрд┐рдХрд░рдг рдкреГрд╖реНрда рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП HttpGet рд╣рдЯрд╛рдПрдБ рд╡рд┐рдзрд┐ рддреНрд░реБрдЯрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рд╕реЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИред
рд╡рд┐рднрд╛рдЧрдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ ред рд╕реАрдПрд╕ HttpGet рд╣рдЯрд╛рдПрдБ рд╡рд┐рдзрд┐ рдХреЛрдб рдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ:
public ActionResult Delete(int id, bool? concurrencyError) { if (concurrencyError.GetValueOrDefault()) { ViewBag.ConcurrencyErrorMessage = + + + + + ; } Department department = db.Departments.Find(id); return View(department); }
рд╡рд┐рдзрд┐ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреА рд╣реИ рдЬреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рдж рдкреГрд╖реНрда рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрджрд┐ рдЗрд╕реЗ рд╕рд╣реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рд╡реНрдпреВрдмрд╛рдЧ рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред
HttpPost Delete (DeleteConfirmed) рд╡рд┐рдзрд┐ рдХреЛрдб рдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ:
[HttpPost, ActionName("Delete")] public ActionResult DeleteConfirmed(Department department) { try { db.Entry(department).State = EntityState.Deleted; db.SaveChanges(); return RedirectToAction("Index"); } catch (DbUpdateConcurrencyException) { return RedirectToAction("Delete", new System.Web.Routing.RouteValueDictionary { { "concurrencyError", true } }); } catch (DataException) {
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╡рд┐рдзрд┐ рдХреЗрд╡рд▓ рд░рд┐рдХреЙрд░реНрдб рдЖрдИрдбреА рдХреЗ рдореВрд▓реНрдп рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреА рд╣реИ:
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ ActionResult DeleteConfirmed (int рдЖрдИрдбреА)
рд╣рдордиреЗ рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╡рд┐рднрд╛рдЧ рдЗрдХрд╛рдИ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛, рдЬреЛ рд╣рдореЗрдВ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рд╕рдВрдкрддреНрддрд┐ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд▓рдбрд╝рд╛рдИред рд╡рд┐рднрд╛рдЧ рд╣рдЯрд╛рдПрдВ (рд╡рд┐рднрд╛рдЧ рд╡рд┐рднрд╛рдЧ)
рдпрджрд┐ рдХреЛрдИ рд╕рдВрдЧрд░реЛрдз рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рдХреЛрдб рдкреБрд╖реНрдЯрд┐ рдкреГрд╖реНрда рдХреЛ рддреНрд░реБрдЯрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдкреБрдирдГ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред
рджреГрд╢реНрдп \ рд╡рд┐рднрд╛рдЧ \ рд╣рдЯрд╛рдПрдБ рдореЗрдВ ред cshtml рдЙрд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде рдХреЛрдб рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд░реВрдкрдг рдФрд░ рдлрд╝реАрд▓реНрдб рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
@model ContosoUniversity.Models.Department @{ ViewBag.Title = "Delete"; } <h2>Delete</h2> <p class="error">@ViewBag.ConcurrencyErrorMessage</p> <h3>Are you sure you want to delete this?</h3> <fieldset> <legend>Department</legend> <div class="display-label"> @Html.LabelFor(model => model.Name) </div> <div class="display-field"> @Html.DisplayFor(model => model.Name) </div> <div class="display-label"> @Html.LabelFor(model => model.Budget) </div> <div class="display-field"> @Html.DisplayFor(model => model.Budget) </div> <div class="display-label"> @Html.LabelFor(model => model.StartDate) </div> <div class="display-field"> @Html.DisplayFor(model => model.StartDate) </div> <div class="display-label"> @Html.LabelFor(model => model.InstructorID) </div> <div class="display-field"> @Html.DisplayFor(model => model.Administrator.FullName) </div> </fieldset> @using (Html.BeginForm()) { @Html.HiddenFor(model => model.DepartmentID) @Html.HiddenFor(model => model.Timestamp) <p> <input type="submit" value="Delete" /> | @Html.ActionLink("Back to List", "Index") </p> }
рдпрд╣ рдХреЛрдб h2 рдФрд░ h3 рд╣реЗрдбрд░ рдХреЗ рдмреАрдЪ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЬреЛрдбрд╝рддрд╛ рд╣реИ:
<p class = "error"> @ ViewBag.ConcurrencyErrorMessage </ p>
рдпрд╣ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ FullName рдХреЗ рд╕рд╛рде LastName рдХреА рдЬрдЧрд╣ рд▓реЗрддрд╛ рд╣реИ:
<div class="display-label"> @Html.LabelFor(model => model.InstructorID) </div> <div class="display-field"> @Html.DisplayFor(model => model.Administrator.FullName) </div>
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдбрд┐рдкрд╛рд░реНрдЯрдореЗрдВрдЯрдЖрдИрдбреА рдФрд░ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЗ рд▓рд┐рдП рдЫрд┐рдкреЗ рд╣реБрдП рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВ:
@Html.HiddenFor(model => model.DepartmentID) @Html.HiddenFor(model => model.Timestamp)
рд╡рд┐рднрд┐рдиреНрди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдбрд┐рдкрд╛рд░реНрдЯрдореЗрдВрдЯреНрд╕ рдЗрдВрдбреЗрдХреНрд╕ рдкреЗрдЬ рдЦреЛрд▓реЗрдВред
рдкрд╣рд▓реА рд╡рд┐рдВрдбреЛ рдореЗрдВ, рдХрд┐рд╕реА рдПрдХ рдорд╛рди рдХреЛ
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдмрджрд▓реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ , рд▓реЗрдХрд┐рди
рд╕рд╣реЗрдЬреЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рди
рдХрд░реЗрдВ :
![clip_image003 [1] clip_image003[1]](https://habrastorage.org/getpro/habr/post_images/7a6/473/663/7a6473663756cbac68b8cbbc4527851b.png)
рджреВрд╕рд░реА рд╡рд┐рдВрдбреЛ рдореЗрдВ, рд╕рдорд╛рди рдлреИрдХрд▓реНрдЯреА рдкрд░ рдбрд┐рд▓реАрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдПрдХ рдкреБрд╖реНрдЯрд┐рдХрд░рдг рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред

рдкрд╣рд▓реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ
рд╕реЗрд╡ рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ ред рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдкреБрд╖реНрдЯрд┐ рдХреА рдЬрд╛рдПрдЧреАред

рдЕрдм рджреВрд╕рд░реА рдмреНрд░рд╛рдЙрдЬрд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдбрд┐рд▓реАрдЯ рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдбреЗрдЯрд╛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдпрджрд┐ рдЖрдк рдлрд┐рд░ рд╕реЗ рд╣рдЯрд╛рдПрдВ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрдВрдбреЗрдХреНрд╕ рдкреЗрдЬ рдЗрд╕ рдкреБрд╖реНрдЯрд┐ рдХреЗ рд╕рд╛рде рдЦреБрд▓реЗрдЧрд╛ рдХрд┐ рд╕рдВрдХрд╛рдп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣рдЯрд╛ рджреА рдЧрдИ рд╣реИред
рд╣рдордиреЗ рд╕рдорд╡рд░реНрддреА рдЕрднрд┐рдЧрдо рд╕рдВрдШрд░реНрд╖реЛрдВ рдХреА рд╢реБрд░реВрдЖрдд рдкреВрд░реА рдХрд░ рд▓реА рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП
рдкреНрд░реЙрдкрд░реНрдЯреА рд╡реИрд▓реНрдпреВ рдХреЗ рд╕рд╛рде рдЖрд╢рд╛рд╡рд╛рджреА рдХреЙрдирдПрд░реЗрдореЗрдЯрд┐рдХ рдкреИрдЯрд░реНрди рдФрд░
рдХрд╛рд░реНрдп рдХрд░рдирд╛ рджреЗрдЦреЗрдВред рдЕрдЧрд▓реЗ рдкрд╛рда рдореЗрдВ, рд╣рдо рдЖрдкрдХреЛ рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рд╕рдВрд╕реНрдерд╛рдУрдВ рдФрд░ рдЫрд╛рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд░рд╛рд╕рдд рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдзрдиреНрдпрд╡рд╛рдж
рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ Belotserkovsky рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред