Diego... what our friend code_blocker should do is read this
http://nhforge.org/wikis/howtonh/your-first-nhibernate-based-application.aspx

and use the XSD to write his mapping.

@code_blocker
Ask a question, in this forum, at each learning step is not a good way to
learn NHibernate.

2009/11/19 Diego Mijelshon <[email protected]>

> If you can't copy&paste the code I just gave you, it'll be hard to solve
> anything.
>
> Oskar just told you what the problem is: if you are not mapping the Id to a
> property, you have to specify the type, since NHibernate can't guess it
> using reflection.
>
>    Diego
>
>
>
> On Thu, Nov 19, 2009 at 12:37, code_blocker <[email protected]> wrote:
>
>> OK so I have the mapping file below now and I get the exception below
>> that:-) What am I doing wrong?
>>
>>
>> <?xml version="1.0"?>
>> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
>>                   namespace="HelloWorldNHibernate"
>>                   assembly="HelloWorldNHibernate">
>>
>>  <!-- Mappings for class 'Customer' -->
>>  <class name="HelloWorldNHibernate.Customer"
>>         table="Customers"
>>         lazy="false"
>>         dynamic-insert="true">
>>
>>     <id>
>>      <column name="CustID" />
>>       <generator class="identity" />
>>    </id>
>>
>>    <property name="FirstName" />
>>    <property name="LastName" />
>>
>>  </class>
>>
>> </hibernate-mapping>
>>
>>
>>
>>
>>
>>
>> System.TypeInitializationException was unhandled
>>  Message="The type initializer for
>> 'HelloWorldNHibernate.NHibernateManager' threw an exception."
>>  Source="HelloWorldNHibernate"
>>  TypeName="HelloWorldNHibernate.NHibernateManager"
>>  StackTrace:
>>       at HelloWorldNHibernate.NHibernateManager..ctor()
>>       at HelloWorldNHibernate.Program.Main() in C:\Documents and
>> Settings\yonatan\My Documents\Visual Studio 2008\Projects
>> \HelloWorldNHibernate\HelloWorldNHibernate\Program.cs:line 21
>>       at System.AppDomain._nExecuteAssembly(Assembly assembly, String
>> [] args)
>>       at System.AppDomain.ExecuteAssembly(String assemblyFile,
>> Evidence assemblySecurity, String[] args)
>>       at
>> Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
>>       at System.Threading.ThreadHelper.ThreadStart_Context(Object
>> state)
>>       at System.Threading.ExecutionContext.Run(ExecutionContext
>> executionContext, ContextCallback callback, Object state)
>>       at System.Threading.ThreadHelper.ThreadStart()
>>  InnerException: NHibernate.MappingException
>>       Message="Could not compile the mapping document:
>> HelloWorldNNHibernate.Models.Customer.hbm.xml"
>>       Source="NHibernate"
>>       StackTrace:
>>            at NHibernate.Cfg.Configuration.LogAndThrow
>> (MappingException me)
>>            at NHibernate.Cfg.Configuration.AddValidatedDocument
>> (XmlDocument doc, String name)
>>            at NHibernate.Cfg.Configuration.AddXmlReader(XmlTextReader
>> hbmReader, String name)
>>            at NHibernate.Cfg.Configuration.AddInputStream(Stream
>> xmlInputStream, String name)
>>            at NHibernate.Cfg.Configuration.AddResource(String path,
>> Assembly assembly)
>>            at NHibernate.Cfg.Configuration.AddResources(Assembly
>> assembly, IList resources, Boolean skipOrdering)
>>            at NHibernate.Cfg.Configuration.AddAssembly(Assembly
>> assembly, Boolean skipOrdering)
>>            at NHibernate.Cfg.Configuration.AddAssembly(Assembly
>> assembly)
>>            at NHibernate.Cfg.Configuration.AddAssembly(String
>> assemblyName)
>>            at HelloWorldNHibernate.NHibernateManager..cctor() in C:
>> \Documents and Settings\yonatan\My Documents\Visual Studio
>> 2008\Projects\HelloWorldNHibernate\HelloWorldNHibernate\Utils
>> \NHibernateManager.cs:line 22
>>       InnerException: NHibernate.MappingException
>>            Message="must specify an identifier type: Customer"
>>            Source="NHibernate"
>>            StackTrace:
>>                 at NHibernate.Cfg.HbmBinder.BindRootClass(XmlNode
>> node, RootClass model, Mappings mappings)
>>                 at NHibernate.Cfg.HbmBinder.BindRoot(XmlDocument doc,
>> Mappings mappings)
>>                 at NHibernate.Cfg.Configuration.AddValidatedDocument
>> (XmlDocument doc, String name)
>>            InnerException:
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> On Nov 19, 11:01 am, Diego Mijelshon <[email protected]> wrote:
>> > You *have* to map the Id, but you are not required to have a property
>> for
>> > it.
>> >
>> >  <class
>> > name="HelloWorldNHibernate.Customer" table="Customers" lazy="false"
>> > dynamic-insert="true">
>> >    *<id column="id_col_name" type="id_col_type">*
>> > *      <generator class="identity"/>*
>> > *   </id>*
>> >    <property name="FirstName" />
>> >    <property name="LastName" />
>> >  </class>
>> >
>> >    Diego
>> >
>> >
>> >
>> > On Thu, Nov 19, 2009 at 05:53, code_blocker <[email protected]> wrote:
>> > > hi,
>> >
>> > > Say I have an object relational mapping. The database table has an
>> > > identity column but I don't want to include this information in my
>> > > object. How would I implement this?
>> >
>> > > The code (which I thought should work but doesn't) for the class
>> > > Customer and its mapping file are below:
>> >
>> > > class Customer
>> > >    {
>> > >        # region Decalarations
>> > >        private String p_FirstName = String.Empty;
>> > >        private String p_LastName = String.Empty;
>> > >        #endregion
>> >
>> > >        #region Constructor
>> > >        public Customer() { }
>> >
>> > >        public Customer(String FirstName, String LastName)
>> > >        {
>> > >            p_FirstName = FirstName;
>> > >            p_LastName = LastName;
>> > >        }
>> > >        #endregion
>> >
>> > >        # region Properties
>> > >        public virtual String FirstName
>> > >        {
>> > >            get { return p_FirstName; }
>> > >            set { p_FirstName = value; }
>> > >        }
>> >
>> > >        public virtual String LastName
>> > >        {
>> > >            get { return p_LastName; }
>> > >            set { p_LastName = value; }
>> > >        }
>> > >        # endregion
>> > >    }
>> >
>> > > <?xml version="1.0"?>
>> > > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
>> > >                   namespace="HelloWorldNHibernate"
>> > >                   assembly="HelloWorldNHibernate">
>> >
>> > >  <!-- Mappings for class 'Customer' -->
>> > >  <class name="HelloWorldNHibernate.Customer"
>> > >         table="Customers"
>> > >         lazy="false"
>> > >         dynamic-insert="true">
>> >
>> > >    <property name="FirstName" />
>> > >    <property name="LastName" />
>> >
>> > >  </class>
>> >
>> > > </hibernate-mapping>
>> >
>> > > --
>> >
>> > > 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]<nhusers%[email protected]>
>> <nhusers%[email protected]<nhusers%[email protected]>
>> ­>
>> > > .
>> > > For more options, visit this group at
>> > >http://groups.google.com/group/nhusers?hl=.- 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]<nhusers%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/nhusers?hl=.
>>
>>
>>
>  --
> 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]<nhusers%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/nhusers?hl=.
>



-- 
Fabio Maulo

--

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=.


Reply via email to