s#harp: http://www.sharparchitecture.net/

Basically they have the architectural foundations for your domain
layer already built.  It's geared towards MVC, but I retrofitted it
for ASP .NET.  But the same domain layer stuff they do in there would
probably help you.

Matt

On Sep 7, 12:47 pm, DBLWizard <[email protected]> wrote:
> Matt,
>
> That worked!  so that's progress.  I will continue experimenting and
> see what works and what doesn't.  I'm guessing I'm missing something
> in the config file that better defines the ID field and that's what's
> causing the error.  We'll just keep taking steps and see what
> happens.  I'm also looking at CodeSmith but it doesn't have real good
> support for DB2 either.
>
> I'm not sure what s#harp project you are referring to.  I've gone
> through the nhibernate getting started project that is listed on their
> website and couple different version of that that I have found on line
> but I don't have ... that I know of ... a sample nhibernate project to
> look at.  Did I miss something somewhere?
>
> Thanks for all the help!
>
> dbl
>
> On Sep 7, 7:13 am, MattO <[email protected]> wrote:
>
>
>
> > David,
>
> > I would recommend looking at the s#arp project as they've pretty much
> > done all of this kind of stuff for you and you can add on to it within
> > your own project.
>
> > Anyways, here is how you would typically return all results from a
> > table without a "WHERE clause"
>
> > ICriteria criteria = Session.CreateCritera(DocType);
> > return criteria.List<DocType>();
>
> > Or all results with a limit (100 records):
>
> > ICriteria criteria =
> > Session.CreateCritera(DocType).SetMaxResults(100);
> > return criteria.List<DocType>();
>
> > Matt
>
> > On Sep 6, 1:34 pm, DBLWizard <[email protected]> wrote:
>
> > > Matt,
>
> > > Hey, I appreciate your response but still need a little help.  Being
> > > new to NHibernate I'm still not sure how all this works.
>
> > > I had only implemented the GetByID in my domain .. what session call
> > > in NHibernate will return all of the objects for a given object?  Get
> > > and Load seem to do the same thing and they all take an "objectID" as
> > > a parameter.  I don't see another call that returns any kind of
> > > collection.  What am I missing?
>
> > > Thanks
>
> > > dbl
>
> > > On Sep 6, 12:07 pm, MattO <[email protected]> wrote:
>
> > > > David,
>
> > > > Things actually look OK.  Nothing too different from what I am doing
> > > > with DB2 on the AS400.  I guess I only have a few suggestions at this
> > > > point:
>
> > > > 1.  Remove all columns except for maybe two columns and try again.
> > > > 2.  Try to "GetAll" or whatever it is called in your domain layer that
> > > > retrieves all objects from the database without a parameter and see if
> > > > that works, as the error seems to indicate you are missing a parameter
> > > > (in your example the "ArbAssocRuling" parameter.
>
> > > > Additionally,zOSDB2 may require the fully qualified table name.  In
> > > > my system, if I don't specify "ARRTFLIB.CONSULTS", which is the
> > > > libraryname.tablename format I get a "could not load an entity error",
> > > > but the inner exception is not the same.
>
> > > > Here is the example:
>
> > > >   <class name="AS400_CONSULTS" table="ARRTFLIB.CONSULTS"
> > > >          optimistic-lock="all" dynamic-update="true" lazy="true">
> > > >     <id name="Id" column="COID#" >
> > > >       <generator class="assigned" />
> > > >     </id>
>
> > > > Lastly atleast in the case of AS400, it requires special nHibernate
> > > > settings as follows:
>
> > > >       <property
> > > > name="connection.provider">NHibernate.Connection.DriverConnectionProvider</
> > > > property>
> > > >       <property name="dialect">NHibernate.Dialect.DB2400Dialect</
> > > > property>
> > > >       <property
> > > > name="connection.driver_class">NHibernate.Driver.DB2400Driver</
> > > > property>
>
> > > > I didn't however find a specialized version forzOS, so I'm going to
> > > > assume the standard DB2 settings you have already specified are
> > > > correct.
>
> > > > Sorry I couldn't be of more help!
>
> > > > On Sep 2, 8:28 am, DBLWizard <[email protected]> wrote:
>
> > > > > Matt,
>
> > > > > Here is all the information minus the using statements in the source
> > > > > code.
>
> > > > > Thanks
>
> > > > > David
>
> > > > > Exception:
> > > > > {"could not load an entity: [ADRPData.Domain.DocType#ArbAssocRuling]
> > > > > [SQL: SELECT doctype0_.SDOCTYPEID as SDOCTYPEID1_0_,
> > > > > doctype0_.SDOCTYPECODE as SDOCTYPE2_1_0_, doctype0_.sSettings as
> > > > > sSettings1_0_, doctype0_.sTemplate as sTemplate1_0_,
> > > > > doctype0_.sArchiveOnly as sArchive5_1_0_, doctype0_.sDocTypeDescriptio
> > > > > as sDocType6_1_0_, doctype0_.sPrinterName as sPrinter7_1_0_,
> > > > > doctype0_.sViewableInMCare as sViewabl8_1_0_,
> > > > > doctype0_.sMCareDescription as sMCareDe9_1_0_, doctype0_.sDocGroup as
> > > > > sDocGroup1_0_ FROM DocType doctype0_ WHERE doctype0_.SDOCTYPEID=?]"}
>
> > > > > Inner Exception:
> > > > > {"Invalid index 0 for this DB2ParameterCollection with Count=0."}
>
> > > > > DocType.hbm.xml:
> > > > > <?xml version="1.0" encoding="utf-8" ?>
> > > > > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
> > > > >                    assembly="ADRPData"
> > > > >                    namespace="ADRPData.Domain">
> > > > >   <class name="DocType">
> > > > >     <id name="sDocTypeID" column="SDOCTYPEID" type="String">
> > > > >       <generator class="assigned" />
> > > > >     </id>
> > > > >     <property name="sDocTypeCode" column="SDOCTYPECODE" />
> > > > >     <property name="sSettings" />
> > > > >     <property name="sTemplate" />
> > > > >     <property name="sArchiveOnly" />
> > > > >     <property name="sDocTypeDescriptio" />
> > > > >     <property name="sPrinterName" />
> > > > >     <property name="sViewableInMCare" />
> > > > >     <property name="sMCareDescription" />
> > > > >     <property name="sDocGroup" />
> > > > >   </class>
> > > > > </hibernate-mapping>
>
> > > > > DocType.cs:
>
> > > > > namespace ADRPData.Domain
> > > > > {
> > > > >     public class DocType
> > > > >     {
> > > > >         public virtual string sDocTypeID { get; set; }
> > > > >         public virtual string sDocTypeCode { get; set; }
> > > > >         public virtual string sSettings { get; set; }
> > > > >         public virtual string sTemplate { get; set; }
> > > > >         public virtual string sArchiveOnly { get; set; }
> > > > >         public virtual string sDocTypeDescriptio { get; set; }
> > > > >         public virtual string sPrinterName { get; set; }
> > > > >         public virtual string sViewableInMCare { get; set; }
> > > > >         public virtual string sMCareDescription { get; set; }
> > > > >         public virtual string sDocGroup { get; set; }
> > > > >     }
>
> > > > > }
>
> > > > > Program.cs - ConsoleApplication:
>
> > > > > namespace ADRPConsole
> > > > > {
> > > > >     class Program
> > > > >     {
> > > > >         private static ISessionFactory _sessionFactory;
> > > > >         private static Configuration _configuration;
>
> > > > >         static void Main(string[] args)
> > > > >         {
> > > > >             _configuration = new Configuration();
> > > > >             _configuration.Configure();
> > > > >             _configuration.AddAssembly(typeof(DocType).Assembly);
> > > > >             _sessionFactory = _configuration.BuildSessionFactory();
>
> > > > >             IDocTypeRepository repository = new DocTypeRepository();
> > > > >             var fromDb = repository.GetById("ArbAssocRuling");
>
> > > > >             Console.WriteLine("DocTypeCode:" + fromDb.sDocTypeCode);
> > > > >         }
> > > > >     }
>
> > > > > }
>
> > > > > On Sep 1, 5:48 am, MattO <[email protected]> wrote:
>
> > > > > > Dbl,
>
> > > > > > Welcome to the minority of users who are still using DB2!
>
> > > > > > The first XML example is pretty much what I use for DB2 on IBM i
> > > > > > (AS400).
>
> > > > > > I don't think your error however is due to improper XML
> > > > > > configuration.  I think it is something else.  I think we need more
> > > > > > code to figure it out.  Can you post your code for the DocType 
> > > > > > class,
> > > > > > the code that is trying to load the domain, and the exception (and
> > > > > > inner exception detail) from the query you are trying to perform?
>
> > > > > > Matt
>
> > > > > > On Aug 31, 1:17 pm, DBLWizard <[email protected]> wrote:
>
> > > > > > > Howdy,
>
> > > > > > > I am trying to get DB2zOS9 to work with NHibernate but I can not
> > > > > > > find clear documenation on how to setup the app.config and the
> > > > > > > hibernate.cfg.xml file.  I'm getting an error when its trying to 
> > > > > > > build
> > > > > > > the SQL statements a substituting parameters.  So I want to make 
> > > > > > > sure
> > > > > > > I've got my config file setup.  I have tried both of these to
> > > > > > > configurations and both get the same error.
>
> > > > > > > <?xml version="1.0" encoding="utf-8" ?>
> > > > > > > <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
> > > > > > >   <session-factory name="Test">
> > > > > > >     <property
> > > > > > > name="connection.provider">NHibernate.Connection.DriverConnectionProvider</
> > > > > > > property>
> > > > > > >     <property 
> > > > > > > name="dialect">NHibernate.Dialect.DB2Dialect</property>
> > > > > > >     <property
> > > > > > > name="connection.driver_class">NHibernate.Driver.DB2Driver</property>
> > > > > > >     <property
> > > > > > > name="connection.connection_string">Database=dbalias;Uid=myUid;Pwd=myPass</
> > > > > > > property>
> > > > > > >     <property name="show_sql">true</property>
> > > > > > >   </session-factory>
> > > > > > > </hibernate-configuration>
>
> > > > > > > This is an ODBC example I found:
>
> > > > > > > <?xml version="1.0" encoding="utf-8" ?>
> > > > > > > <hibernate-configuration xmlns="urn:nhibernate-configuration-2.0" 
> > > > > > > >
> > > > > > >     <session-factory name="session">
> > > > > > >         <property
> > > > > > > name="connection.provider">NHibernate.Connection.DriverConnectionProvider</
> > > > > > > property>
> > > > > > >         <property
>
> ...
>
> read more »- Hide quoted text -
>
> - Show quoted text -

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to