NHibernate: Oracle рдпрд╛ PostgreSQL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдПрдХ рдЫреЛрдЯреА рд╕реА рдЪрд╛рд▓

Oracle , PostgreSQL, рдФрд░ рд╕рдВрднрд╡рддрдГ рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП ADO.NET рдкреНрд░рджрд╛рддрд╛рдУрдВ рдореЗрдВ рдПрдХ рдЕрдкреНрд░рд┐рдп рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИ рдпрджрд┐ рдЖрдк рд╕рд░реНрд╡рд░ рд╕реЗ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ: рд╡реЗ IDataReader.GetOrdor рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рдпрд╣ NHibernate рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рд▓реЗрдХрд┐рди, рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, NHibernate (рдпрд╛ рдмрд▓реНрдХрд┐ Hibernate ) рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЗрдЦрд╛ рдФрд░ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╣реА рд╣рд▓ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХрд┐рд╕реА рдХрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рдЧрдИ рдФрд░ рд▓рдЧрднрдЧ рдкреНрд░рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рд╣реБрдИред

NHibernate рдореЗрдВ IDataReader.GetOrdinal рдХреЗ рдХреЙрд▓ рдХреИрд╢рд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ "adonet.wrap_result_sets" рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕рд╣реА рдореЗрдВ hibernate.cfg рдореЗрдВ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

<?xml version="1.0" encoding="utf-8" ?> <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> <!-- other options --> <session-factory name="MySessionFactory"> <!-- other session factory options --> <property name="adonet.wrap_result_sets">true</property> </session-factory> </hibernate-configuration> 


FluentNHibernate рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ , рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 var config = Fluently.Configure() .ExposeConfiguration(c => c.SetProperty(Environment.WrapResultSets, "true")) .Database(db) /* other configuration */ .BuildConfiguration(); 


_ExposeConfiguration_ рдореЗрдердб рдореЗрдВ рдРрд╕реА рдХреНрд░рд┐рдпрд╛рдПрдБ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЬреЛ BuildConfiguration рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ NHibernate.Cfg.Configuration рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдКрдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рдорд╛рди рд╣реЛрдЧрд╛:

 var config = Fluently.Configure() .Database(db) /* other configuration */ .BuildConfiguration(); config.SetProperty(NHibernate.Cfg.Environment.WrapResultSets, "true"); 


рд╕рдВрдмрдВрдзрд┐рдд рд▓рд┐рдВрдХ

Source: https://habr.com/ru/post/In147450/


All Articles