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

рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд
"рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╡рд┐рдж рд░реЗрд╡реЗрдирдбреАрдмреА" рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рд╣рдорд╛рд░реЗ рд╕рд╛рдордиреЗ рдЖрддреА рд╣реИ, рд╡рд╣ рд╣реИ рд╡рд╛рдХреНрдпрд╛рдВрд╢ -
рдПрдХ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд░реЗрд╡реЗрдирдм рдХреЗ рд╕рд╛рде рдХрд╛рдо рди рдХрд░рдирд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд┐рд╕реА рднреА NoSQL рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИред
рдЗрд╕ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдХреЛ рдЬрд╣рд╛рдВ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рдХреЛ рдЕрдкрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд░реЗрд╡реЗрдирдбреАрдмреА
рдПрдХ рдЗрдХрд╛рдИ рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрдгрдп рдкрд░ рд╣рдореЗрдВ рдзрдХреЗрд▓рддрд╛ рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЗрдХрд╛рдИ рд╣реИред
public class Article { public long Id {get;set;} public string Title {get;set;} public string Content{get;set;} }
рдФрд░ рдпрд╣ рдзрд╛рд░рдгрд╛ рдмрдирд╛рдПрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдПрдВрдЯрд┐рдЯреА рдЖрд░реНрдЯрд┐рдХрд▓ рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
public class Comment { public long Id {get;set;} public string Author {get;set;} public string Content{get;set;} }
рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд▓реЗрдЦ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реИ:
- рд▓реЗрдЦ рд╡рд░реНрдЧ рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд╕рдВрдкрддреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ
- рдЯрд┐рдкреНрдкрдгреА рд╕реЗ Id рдЧреБрдг рдирд┐рдХрд╛рд▓реЗрдВред
рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╣рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рддрд╛рд▓рд┐рдХрд╛ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╣рдореЗрд╢рд╛ рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рдЕрдВрджрд░ рд╣реЛрддреА рд╣реИрдВред рдпрд╣реА рд╕рдм рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред
рдореИрдВрдиреЗ рджреВрд╕рд░рд╛ рдмрд┐рдВрджреБ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдореЙрдбрд▓ рдореЗрдВ рд╣рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рдо рд▓реЗрдЦ рдкрд░ рд╕рднреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ, рдпрд╛ рдХрд┐рд╕реА рд▓реЗрдЦрдХ рдХреА рд╕рднреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рд╡реИрд╕реЗ, рд░реЗрд╡реЗрдирдбреАрдмреА рдореЗрдВ рдХреЛрдИ рдЯреЗрдмрд▓ рдирд╣реАрдВ рд╣реИрдВред рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рд╣реИрдВ, рдФрд░ рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЗрдХрд╛рдИ рдмрд╣реБрдд рд╕рд░рд▓ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдХреА рдЧрдИ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдиреАрдЪреЗред
рдореЗрдЯрд╛рдбрд╛рдЯрд╛
рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд░реЗрд╡реЗрдирдбреАрдмреА рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ JSON рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдЙрдирдХреЗ рдкрд╛рд╕ рдХреБрдЫ рд╕реЗрд╡рд╛ рдЧреБрдгреЛрдВ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд░рдЪрдирд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЦреНрдп рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╕рдВрдкрддреНрддрд┐ @metadata рд╣реИред рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╣рдорд╛рд░реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд╕рднреА рдирд┐рдпрдВрддреНрд░рдг рдбреЗрдЯрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: RavenDB рдХреЗ рдЕрдВрджрд░ рдЖрдИрдбреА, рд╕рд░реНрд╡рд░ рдкрд░ рдЯрд╛рдЗрдк рдХрд░реЗрдВ (рд╣рдорд╛рд░рд╛ рд▓реЗрдЦ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП), рдФрд░ рдХрдИ рдЕрдиреНрдп рдЧреБрдгред
рд░реЗрд╡реЗрди-рдПрдВрдЯрд┐рдЯреА-рдирд╛рдо рд╕рдВрдкрддреНрддрд┐ рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрд╕реНрдерд╛ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрдЧреНрд░рд╣ рдЬрд┐рд╕рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдерд┐рдд рд╣реИ, рд╡рд╣ рднреА рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред рдЖрдИрдбреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИред
рд╡реИрд╕реЗ, рдЖрдЗрдбреЗрдВрдЯ рдкреНрд░реЙрдкрд░реНрдЯреА рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд░реЗрд╡реЗрдирдбреАрдмреА рдореИрдк рдореЗрдВ рдЖрдЗрдбреЗрдВрдЯрд┐рдлрд╝рд╛рдпрд░, рд▓реЗрдХрд┐рди рдЖрдк рдХрд┐рд╕реА рднреА рдХреНрд╖реЗрддреНрд░ рдХреЛ рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд░рдгрдиреАрддрд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣рд╛рдБ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╡рд░реНрдгрд┐рдд
рд╣реИ ред рдЖрдкрдХреЛ рдмрд╕ рдереЛрдбрд╝рд╛ рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рд╣реИред
рд╡реИрд╕реЗ, рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд
рдЬреЛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрд╣реА рдереА, рд▓реЗрдХрд┐рди рдореИрдВ рдлрд┐рд░ рд╕реЗ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдВ :
рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдЦрд░рд╛рдм рд╣реИрдВред рдЗрдХрд╛рдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╣рд░ рдЪреАрдЬ рдЗрд╕рдореЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПредрдмреЗрд╢рдХ, рдПрдХ рд╕реНрдерд┐рддрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рдЗрдХрд╛рдИ рджреВрд╕рд░реЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдРрд╕рд╛ рдХрд░рдирд╛ рд╣реИ, рддреЛ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдкреВрдЫреЗрдВ - рдХреНрдпрд╛ рдЖрдк рд░реЗрд╡реЗрдирдбреАрдмреА рдХрд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
рдЗрдХрд╛рдИ рдЦреЛрдЬ
рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ - рд╣рдореЗрдВ рд╕рднреА рдкрджреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
List<Blog> blogs = null; using (var session = store.OpenSession()) { blogs = session.Query<Blog>().ToList(); }
рдЗрд╕ рдЫреЛрдЯреЗ рд╕реЗ рдХреЛрдб рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо RavenDB (рдпрд╣ рддреБрдЪреНрдЫ рд╣реИ) рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВред
рджреВрд╕рд░реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╕рддреНрд░ рд╣рдореЗрдВ рдЙрди рдкреНрд░рдердо рд╕рдВрд╕реНрдерд╛рдУрдВ рдореЗрдВ рд╕реЗ 128 рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╢рд░реНрдд рдХреЛ рдкреВрд░рд╛ рдХрд░рддреА рд╣реИрдВред 128 рдХреНрдпреЛрдВ? рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ, рдЖрдк рдЗрд╕ рдорд╛рди рдХреЛ 1024 рддрдХ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди, рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рд╣реИред
рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рд░реЗрд╡реЗрдирдбрдм рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреГрдврд╝рддрд╛ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реИред рдФрд░ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдкреАрдЖрдИ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ! рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЛ рд╣рд░ рдмрд╛рд░ рдкреЗрдЬрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдмрд╛рдЗрдХ рд▓рд┐рдЦрдиреА рд╣реЛрдЧреАред рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рддрдиреЗ рдХреБрд▓ рдкреГрд╖реНрда рд╣реЛрдВрдЧреЗ, рдФрд░ рдлрд┐рд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛ред
рд╣рд╛рдВ, рдХрд╛рд░реНрдп рддреБрдЪреНрдЫ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИред
рд╡реИрд╕реЗ, рдпрд╣рд╛рдВ рдХреЛрдб рд╣реИ (рд╢рд╛рдпрдж, рдЖрдкрдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ) рдЬреЛ рдкреГрд╖реНрдард╛рдВрдХрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИред
public static int GetPageCount<T> (this IRavenQueryable<T> queryable, int pageSize) { if (pageSize < 1) { throw new ArgumentException("Page size is less then 1"); } RavenQueryStatistics stats; queryable.Statistics(out stats).Take(0).ToArray();
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд╕рдм рдирд╣реАрдВ рд╣реИред
рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд░реЗрд╡реЗрдирдбреАрдмреА рд╣рдореЗрдВ
рдЕрдВрддрд┐рдо рд╕рдВрд╢реЛрдзрд┐рдд рддрд┐рдерд┐ рджреНрд╡рд╛рд░рд╛ рдЫрд╛рдВрдЯреЗ рдЧрдП рдирд┐рдХрд╛рдп рджреЗрддрд╛ рд╣реИред рдпрд╣ @ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЕрдВрддрд┐рдо-рд╕рдВрд╢реЛрдзрд┐рдд рд╕рдВрдкрддреНрддрд┐ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛ред
рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЖрдИрдбреА рд╕реЗ рдирд╣реАрдВ рдЫрд╛рдБрдЯ рд╕рдХрддреЗред рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рдпрд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рд╕рдорд╛рдзрд╛рди рд╕рд░рд▓ рд╣реИ - рдПрдХ рдмрдирд╛рдпрд╛ рдХреНрд╖реЗрддреНрд░ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реЙрд░реНрдЯ рдХрд░реЗрдВред
рдХреНрд╡реЗрд░реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рд░реЗрд╡реЗрдирдбреАрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╕рддреНрд░ 30 рдкреНрд░рд╢реНрдиреЛрдВ рддрдХ рд╕реАрдорд┐рдд рд╣реИ, рдЗрд╕ рд╕реАрдорд╛ рдХреЗ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЬрдм рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреНрд╡реЗрд░реА рднреЗрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдПрдХ рдЕрдкрд╡рд╛рдж рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЗрд╕ рдЕрджреНрднреБрдд рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рд╣рд░ рддрд░рд╣ рд╕реЗ рд╣рдореЗрдВ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕рддреНрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рдЙрдЪрд┐рдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рддреНрд░ UnitOfWork рд╣реИ рдФрд░, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рд▓реНрдХрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕рддреНрд░реЛрдВ рдХрд╛ рдирд┐рд░рдВрддрд░ рдирд┐рд░реНрдорд╛рдг рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдЕрдкрдардиреАрдп рд░реВрдк рдореЗрдВ рд▓реЗ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЕрдиреНрдпрдерд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
private IDocumentSession Session { get { if (_session == null) { _session = _store.OpenSession(); } if (_session.Advanced.NumberOfRequests == _session.Advanced.MaxNumberOfRequestsPerSession) { _session.Dispose(); _session = _store.OpenSession(); } return _session; } }
рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд░реЗрд╡реЗрдирдбреАрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдЙрдкрд░реНрдпреБрдХреНрдд рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛, рдЖрдпреЗрдВрдбреЗ рд░рд╣рд┐рдпрди рдХрд╣рддреЗ рд╣реИрдВ: "рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ рд░реЗрдирдмреАрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред" рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рд╕реАрдзреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЗрддрд╛ рд╣реИред рд╢рд╛рдпрдж рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЙрдЪрд┐рдд рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ рддреАрди-рдЗрдХрд╛рдИ рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рддрд░реАрдХрд╛ рдореЗрд░реЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИред
рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рдПрдХ рд░реЗрд╡реЗрдирдбреАрдмреА рд╕рддреНрд░ рдкрд░ рдкреНрд░реЙрдХреНрд╕реА рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕ рдШрдЯрдХ рдХреЛ рдмрдирд╛рдиреЗ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░рдг рд╕рддреНрд░ рдореЙрдХ рдХреЗ рд╕рд╛рде рдХрдард┐рдирд╛рдИ рд╣реИред рдпрджрд┐ рд▓реЛрдб рдЕрднреА рднреА рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдбреБрдмреЛрдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдХреНрд╡реЗрд░реА рд▓рдЧрднрдЧ рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИред рдЬрдмрдХрд┐ рдРрдб-рдЗрди рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред
рдФрд░ рд░реЗрд╡реЗрдирдбреАрдмреА рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдФрд░ рдмрд╛рдд рдХрд╣рдирд╛ред рд╢рд╛рдпрдж рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдПрдВрдмреЗрдбреЗрдбреЗрдмрд▓рд╕реНрдЯреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдХрд╛рд░рдг рд╕реВрдЪрдХрд╛рдВрдХ рдкрд░реАрдХреНрд╖рдг рд╣реИред рд▓реЗрдХрд┐рди рд░реЗрд╡реЗрдирдбреАрдмреА рдореЗрдВ рд╕реВрдЪрдХрд╛рдВрдХ рдПрдХ рд╡реНрдпрд╛рдкрдХ рд╡рд┐рд╖рдп рд╣реИ, рдЬреЛ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред =)